Pagini recente » Cod sursa (job #2443069) | Cod sursa (job #372602) | Cod sursa (job #2130822) | Cod sursa (job #574633) | Cod sursa (job #2733947)
#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;
}