Pagini recente »
Rating Caian Alexandru Cristian (alexandru.caian)
|
Clasament vaslui_cls9_01.03
|
2015-03-03-clasa-5-tema-27
|
Monitorul de evaluare
|
Cod sursă (job #672439)
Cod sursă (job
#672439)
#include <bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
#pragma GCC optimize("Ofast")
using namespace std;
ifstream in("scv.in");
ofstream out("scv.out");
int m, c, t, x;// x total, t timp de constructie
// m minerale pe zi, c cost SCV
long long produse(long long p)
{
int scv = 1;
long long sfarsit = m*p;
long long minerale=0;
for(int i=0; i<p; i++)
{
if(minerale >= c && c < (p - t - i) * m)
{
minerale-=c;
sfarsit -= c;
sfarsit += (p - t - i) * m;
i+=t-1;
minerale += t*m*scv;
scv++;
}
else
minerale+=m*scv;
if(c >= (p - t - i - (c-minerale)/(m*scv)) * m || c >= (p - t - i) * m)
{
break;
}
}
return sfarsit;
}
int main()
{
in>>c>>t>>m>>x;
long long r = 0, pas=1<<22;
while(pas)
{
if(r + pas <= x/m && produse(r+pas) < x)
r+=pas;
pas/=2;
}
r++;
out<<r;
}