Pagini recente » Cod sursa (job #642759) | Cod sursa (job #3200876) | Cod sursa (job #598728) | Cod sursa (job #1835375) | Cod sursa (job #3126460)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque< pair<long long,int>>b;
long long N,S,T,C,P,cost,ok;
int main()
{
fin>>N>>S>>T;
fin>>C>>P;
b.push_back({C,0});
cost+=P*b[0].first;
for(int i=1; i<N;i++)
{
fin >> C >> P;
if (b[0].second + T < i)
b.pop_front();
if ( S * (i - b[0].second) + b[0].first >= C)
{
b.pop_front();
ok=0;
}
b.push_back({C, i});
cost += P * b[0].first + S*ok*P;
ok++;
}
fout << cost;
return 0;
}