Pagini recente » Cod sursa (job #738937) | Cod sursa (job #2531744) | Cod sursa (job #3182753) | Cod sursa (job #2194028) | Cod sursa (job #2885602)
#include <fstream>
#include <deque>
using namespace std;
int main() {
ifstream fin ("branza.in");
int n,s,t;
int result;
fin >> n >> s >> t;
deque<int> branza;
int q, cost[1000001];
for(int i = 1; i <= n; ++i){
fin >> cost[i] >> q;
// Expirat
while(!branza.empty() && branza.front() < i - t)
branza.pop_front();
// Rentabilitate
while(!branza.empty() && cost[branza.back()] + (i - branza.back()) * s > cost[i])
branza.pop_back();
branza.push_back(i);
result += q * (cost[branza.front()] + (i - branza.front()) * s);
}
fin.close();
ofstream fout("branza.out");
fout << result;
fout.close();
return 0;
}