Pagini recente » Cod sursa (job #904817) | Cod sursa (job #1027517) | Cod sursa (job #1364704) | Cod sursa (job #2281375) | Cod sursa (job #2031893)
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
ifstream F("branza.in");
ofstream G("branza.out");
long long n, S, t, c, p;
long long sum;
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()&&((i-dq.front().s)*S+dq.front().f)>c) dq.pop_front();
dq.push_back({c, i});
pair<long long, int> x=dq.front();
if(!dq.empty()) sum+=((i-dq.front().s)*1LL*S+dq.front().f)*1LL*p;
if(!dq.empty()&&(i-dq.front().s)==t) dq.pop_front();
}
G << 1LL*sum;
return 0;
}