Pagini recente » Istoria paginii runda/simulare_oji_viii/clasament | Cod sursa (job #2076464) | Istoria paginii runda/jc2019-runda-1/clasament | Autentificare | Cod sursa (job #2065764)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
int d[100000], c[100000];
int main()
{
int N,S,T,p,s=0,i=0;
in>>N>>S>>T;
int dr=-1, st=0;
T++;
for( i=0; i<N; ++i)
{
in>>c[i]>>p;
if(st<=dr && d[st]==i-T) ++st;
while(st<=dr &&c[i]<=c[d[dr]]+s*(i-d[dr]))
{
--dr;
}
d[++dr]=i;
s += (c[d[st]] + (long long)S*(i-d[st]))*p;
}
out<<s;
return 0;
}