Cod sursa(job #2974678)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 4 februarie 2023 14:14:34
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
using namespace std;
ifstream fin ("branza.in");
ofstream fout("branza.out");
long long n,S,T,i,p,u,sol,D[100010],C[100010],P[100010];
int main ()
{
    fin>>n>>S>>T;
    for(i=1;i<=n;i++)
        fin>>C[i]>>P[i];
    D[1]=1;
    p=1;
    u=1;
    sol=sol+C[1]*P[1];
    for(i=2;i<=n;i++)
    {
        while(p<=u&&C[i]<=(i-D[u])*S+C[D[u]])
            u--;
        D[++u]=i;
        if(i-D[p]==T+1)
            p++;
        sol=sol+(C[D[p]]+S*(i-D[p]))*P[i];
    }
    fout<<sol;
    return 0;
}