Pagini recente » Cod sursa (job #1780343) | Cod sursa (job #1777824) | Cod sursa (job #2897533) | Cod sursa (job #1090035) | Cod sursa (job #2031846)
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
ifstream F("branza.in");
ofstream G("branza.out");
int n, S, t, c, p;
long long s;
deque<pair<long long, int> > dq;
int main()
{
F>>n>>S>>t;
for(int i = 1; i <= n;++ i)
{
F >> c >> p;
while(!dq.empty()&&dq.front().f>c) dq.pop_front();
if(!dq.empty()&&dq.front().s==i-t) dq.pop_front();
if(!dq.empty()&&dq.front().f<c) s+=1LL*dq.front().f*p, dq.front().f+=S;
else s+=1LL*c*p, dq.push_back({c+S, i});
}
G << s;
return 0;
}