Pagini recente » Cod sursa (job #1208231) | Cod sursa (job #1037872) | Cod sursa (job #2860396) | Cod sursa (job #695004) | Cod sursa (job #2889321)
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
long n;
long t;
long s;
long long ct;
struct saptamana{
long c;
long p;
long i;
};
deque<saptamana> b;
void branza()
{
fin>>n>>s>>t;
for(long i=0;i<n;i++)
{
saptamana ns;
ns.i = i;
fin>>ns.c>>ns.p;
while(!b.empty() && b.back().c + (i-b.back().i)*s >ns.c)
b.pop_back();
b.push_back(ns);
ct += (b.front().c+(i-b.front().i)*s)*ns.p;
if(!b.empty() && i-b.front().i>=t)
b.pop_front();
}
fout<<ct;
}
int main() {
branza();
return 0;
}