Pagini recente » Cod sursa (job #476386) | Cod sursa (job #501706) | Cod sursa (job #537416) | Cod sursa (job #2894394) | Cod sursa (job #2624452)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque<pair<int, int>> DK;
int main()
{
int n, S, T, pret, cantitate;
long long rez = 0;
fin >> n >> S >> T;
for(int i = 1; i <= n; i++)
{
fin >> pret >> cantitate;
if(!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;
}