Cod sursa(job #3331486)

Utilizator sevescu_andreisevescu andrei sevescu_andrei Data 28 decembrie 2025 17:12:55
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <deque>

int c[100000],p[100000];

using namespace std;

ifstream fin("branza.in");
ofstream fout("branza.out");

int main(){
    int n,i,t,s;
    long long sum=0;
    deque <int> dq;
    fin >>n >> s >> t;
    for(i=0;i<n;i++){
        fin >> c[i]>>p[i];
    }
    for(i=0;i<n;i++){
        while(!dq.empty()&&c[i]<=c[dq.back()]+s*(i-dq.back())){
            dq.pop_back();
        }
        dq.push_back(i);
        if(dq.front() == i-t){
            dq.pop_front();
        }
        printf("%d " ,dq.front());
        sum+=(c[dq.front()]+s*(i-dq.front()))*p[i];
    }
    fout << sum;
    return 0;
}