Cod sursa(job #3169520)
Utilizator | Mihai Ariton Mihai_Ariton | Data | 15 noiembrie 2023 10:43:48 |
---|---|---|---|
Problema | Branza | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
deque<pair<int, int>>q;
int main()
{
ifstream cin("branza.in");
ofstream cout("branza.out");
long long n, s, t, c, p;
long long r=0;
cin>>n>>s>>t;
for(int i=1; i<=n; i++)
{
cin>>c>>p;
while(!q.empty() && c<q.back().first +(i-q.back().second)*s)
q.pop_back();
q.push_back({c, i});
while(!q.empty() && i-q.front().second>t)
q.pop_front();
r+=p*(q.front().first+s*(i-q.front().second));
}
cout<<r;
}