Cod sursa(job #2775862)

Utilizator RobertAcAcatrinei Robert-Marian RobertAc Data 17 septembrie 2021 18:26:19
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
string prob="branza";
ifstream in(prob+".in");
ofstream out(prob+".out");
int c[100005];
int n,s,t,tot=0,ind=0;
int getmin(int start){
    int res=INT_MAX;
    int it;
    for(int i=start-1,j=1;j<=t;j++,i--){
        if(res>c[i]+(start-i)*s){
            res=c[i]+(start-i)*s;
            it=i;
        }
    }
    ind=it;
    return res;
}
int main(){
    in>>n>>s>>t;
    int minn=INT_MAX-1000;
    int p;
    for(int i=0;i<n;i++){
        in>>c[i]>>p;
        if(ind>t){
            minn=getmin(i);
        }
        if(minn+s>=c[i]){
            minn=c[i];
            ind=0;
        }else minn+=s;
        ind++;

        tot+=minn*p;
    }
    out<<tot;
}