Cod sursa(job #547286)
| Utilizator | Data | 6 martie 2011 10:42:29 | |
|---|---|---|---|
| Problema | Branza | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<fstream>
using namespace std;
long long i,n,st=1,dr,st,s,v[100010],v1[100010],v2[100010];
int main()
{ifstream q("branza.in");
ofstream w("branza.out");
q>>n>>s>>t;
for(int i=1;i<=n;++i)
q>>v[i]>>v1[i];
for(i=1;i<=n;++i)
{while(st<=dr&&v[i]<v[v2[dr]]+s*(i-v2[dr]))
--dr;
v2[++dr]=i;
if(v2[st]==i-t-1)
++st;
s=s+(v[v2[st]]+(i-v2[st])*s);}
w<<s<<"\n";
return 0;}
