Pagini recente » Cod sursa (job #654016) | Istoria paginii runda/pregatire_oji_11-12_3/clasament | Cod sursa (job #1360156) | Istoria paginii runda/gigel_si_nemuritorii | Cod sursa (job #2694564)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("branza.in");
ofstream g ("branza.out");
int n,cost,stricat;
deque <pair<int,int>> dq;
int sol;
int main()
{
f>>n>>cost>>stricat;
for(int i=1; i<=n; ++i)
{
if(!dq.empty() && dq.front().second-i>stricat)
dq.pop_front();
int val,it;
f>>val>>it;
while(!dq.empty() && (val<(dq.back().first+cost )))
{
dq.pop_back();
}
dq.push_back({val, i});
sol+=dq.front().first*it+(i-dq.front().second)*it*cost;
}
g<<sol;
return 0;
}