Pagini recente » Cod sursa (job #1473853) | Cod sursa (job #2145637) | Cod sursa (job #2419072) | Cod sursa (job #1104830) | Cod sursa (job #2031888)
#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;
}