Pagini recente » Cod sursa (job #974705) | Cod sursa (job #577631) | Cod sursa (job #1807189) | Cod sursa (job #676795) | Cod sursa (job #3127030)
#include <bits/stdc++.h>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
int n, s, t;
long long res;
int main(){
f >> n >> s >> t;
int c, p;
f >> c >> p;
deque<pair<int, int>> dq;
dq.push_back({c, 0});
res += (c * p);
for(int i = 1; i < n; ++i){
f >> c >> p;
if(!dq.empty() && dq.front().second + t < i){
dq.pop_front();
}
while(!dq.empty() && (s * (i - dq.back().second) + dq.back().first) >= c){
dq.pop_back();
}
dq.push_back({c, i});
res += (p * dq.front().first + s * p * (i - dq.front().second));
}
g << res;
return 0;
}