Pagini recente » Cod sursa (job #2473252) | Cod sursa (job #993780) | Cod sursa (job #831797) | Cod sursa (job #607774) | Cod sursa (job #2731933)
#include <iostream>
#include<fstream>
#include<deque>
#include<vector>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int N,S,T,s=0,nr=0,i,x,y,b,ok=1,a;
//vector<int> C;
//vector<int> P;
int C[10000],P[10000];
deque<int> caut;
int main()
{
f>>N>>S>>T;
for(i=0;i<N;i++)
{
//f>>x>>y;
//C.push_back(x);
//P.push_back(y);
f>>C[i]>>P[i];
while(!caut.empty() && (C[i]<=C[caut.back()]+S*(i-caut.back())))
caut.pop_back();
caut.push_back(i);
while((!caut.empty())&&(i-caut.front()>T))
caut.pop_front();
s+=(C[caut.front()]+S*(i-caut.front()))*P[i];
}
g<<s;
}