Pagini recente » Cod sursa (job #2454800) | Cod sursa (job #3004094) | Cod sursa (job #624284) | Cod sursa (job #2504046) | Cod sursa (job #2624458)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque<pair<long long, long long>> DK;
int main()
{
long long n, S, T, pret, cantitate;
long long rez = 0;
fin >> n >> S >> T;
for(long long i = 1; i <= n; i++)
{
fin >> pret >> cantitate;
while(!DK.empty() && DK.front().second < T - i)
DK.pop_front();
while(!DK.empty() && DK.back().first + (i - DK.back().second) * S >= pret)
DK.pop_back();
DK.push_back(make_pair(pret, i));
rez += (DK.front().first + (i - DK.front().second) * S) * cantitate;
}
fout << rez;
return 0;
}