Pagini recente » Cod sursa (job #734920) | Istoria paginii runda/emag_2016-incepatori-4/clasament | Cod sursa (job #1094256) | Cod sursa (job #2786756) | Cod sursa (job #2405146)
#include <fstream>
#include <deque>
#define val first
#define poz second
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
long long n, pretdep, zilemax, p,u, cant, i, sol, v[100009], pret[100009] ;
int main()
{
f >> n >> pretdep >> zilemax;
p=1; u=0;
for( i=1; i<=n; i++){
f >> pret[i] >> cant;
while ( p <= u && pret[v[u]] + pretdep * (i-v[u]) >= pret [i] )
u--;
v[++u]=i;
if( v[p] == i-zilemax-1 ) p++;
sol += cant * ( pret [ v[p] ] + pretdep * ( i - v[p] ) ) ;
}
g<<sol;
return 0;
}