Pagini recente » Borderou de evaluare (job #671134) | Cod sursa (job #178640) | Cod sursa (job #868709) | Cod sursa (job #1280243) | Cod sursa (job #3320933)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("branza.in");
ofstream g ("branza.out");
const int NMAX=1e5;
deque <int> coada;
int n, c[NMAX+5], qnt[NMAX+5], blud[NMAX+5], tax, tme; /// blud e cost per kg fata de ziua curenta
int main ()
{
f >> n >> tax >> tme;
for (int i=1;i<=n;i++)
f >> c[i] >> qnt[i], blud[i]=-i*tax+c[i];
int sum=0;
for (int i=1;i<=n;i++)
{
while (!coada.empty() && coada.front()<i-tme)
coada.pop_front ();
while (!coada.empty() && blud[coada.back()]>=blud[i])
coada.pop_back ();
coada.push_back (i);
sum+=(blud[coada.front()]+i*tax)*qnt[i];
}
g << sum;
return 0;
}