Cod sursa(job #2066920)

Utilizator valeriucaraselCarasel Valeriu valeriucarasel Data 15 noiembrie 2017 17:55:46
Problema Branza Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>

using namespace std;

long long v[100005],d[100005];

int main()
{
    ifstream in("branza.in");
    ofstream out("branza.out");
    int n,t,s,st=0,dr=-1,j;
    long long p,suma=0;
    in>>n>>s>>t;
    for (int i=0;i<n;i++)
    {
        in>>v[i]>>p;
        if ((st<=dr)&&(i-d[st]>t))
        {
            st++;
        }
        for (j=st;j<=dr;j++)
        {
            v[d[j]]+=s;
        }
        while ((st<=dr)&&(v[i]<=v[d[dr]]))
        {
            dr--;
        }
        d[++dr]=i;
        suma=suma+p*v[d[st]];
        cout<<suma<<endl;
    }
    out<<suma;
    in.close();
    out.close();
    return 0;
}