Pagini recente » Cod sursa (job #936352) | Cod sursa (job #1006232) | Cod sursa (job #3001630) | Cod sursa (job #2330699) | Cod sursa (job #1995299)
#include<fstream>
#include<deque>
using namespace std;
ifstream fi("branza.in");
ofstream fo("branza.out");
deque<int> Q;
int n,s,t,i,p,C[100001];
long long rez;
int main()
{
fi>>n>>s>>t;
for(i=1; i<=n; i++)
{
fi>>C[i]>>p;
C[i]=C[i]-i*s;
if((!Q.empty()) && i-Q.front()>t)
Q.pop_front();
while((!Q.empty()) && C[Q.back()]>C[i])
Q.pop_back();
Q.push_back(i);
rez=rez+1LL*(C[Q.front()]+i*s)*p;
}
fo<<rez<<"\n";
fi.close();
fo.close();
return 0;
}