Pagini recente » Cod sursa (job #1855526) | Cod sursa (job #765863) | Cod sursa (job #1918369) | Cod sursa (job #650524) | Cod sursa (job #2732319)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("branza.in");
ofstream fout ("branza.out");
int main()
{
int n, s, t, i, total = 0;
fin >> n >> s >> t;
int c[n+5], p, deq[n+5];
int frontt = 1, backk = 0;
for (i = 1; i <=n ; i++)
{
fin >> c[i] >> p;
while(frontt <= backk && c[i] <= c[deq[backk]] + s* (i - deq[backk]))
backk--;
deq[++backk] = i;
if(deq[frontt] == i - t - 1)
frontt++;
total += p*deq[frontt] + s*(i- deq[frontt]);
}
fout << total;
return 0;
}