Pagini recente » Cod sursa (job #2371244) | Cod sursa (job #638672) | Cod sursa (job #1848359) | Cod sursa (job #480732) | Cod sursa (job #2733949)
#include <fstream>
#include <deque>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
pair <int,int> a[100000];
deque <int> dq;
int main()
{
int n, k, t;
in>>n>>t>>k;
long long s=0;
// k++;
for(int i=0;i<n;i++)
{
in>>a[i].first>>a[i].second;
if(!dq.empty()&&dq.front()==i-k)
dq.pop_front();
while(!dq.empty()&&a[i].first<=a[dq.back()].first+t*(i-dq.back()))
dq.pop_back();
dq.push_back(i);
s+=(a[dq.front()].first+t*(i-dq.front()))*a[i].second;
}
out<<s;
return 0;
}