Mai intai trebuie sa te autentifici.
Cod sursa(job #516984)
Utilizator | Data | 27 decembrie 2010 14:12:24 | |
---|---|---|---|
Problema | Branza | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
#include <deque>
#define DN 1000005
#define sz d.size()
#define fr d.front()
#define bk d.back()
using namespace std;
deque<int> d;
int n,s,t,c[DN],p[DN];
long long r;
int main()
{
ifstream f("branza.in");
ofstream g("branza.out");
f>>n>>s>>t;
for(int i=1; i<=n; ++i) {
f>>c[i]>>p[i];
if(sz && i-fr>t) d.pop_front();
for (;sz && c[bk]+(i-bk)*s>=c[i]; d.pop_back());
d.push_back(i);
r+=((c[fr]+(i-fr)*s)*p[i]);
}
g<<r;
return 0;
}