Cod sursa(job #904968)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 5 martie 2013 09:49:23
Problema Branza Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <deque>
using namespace std;
long long n, s, t, a[100010], b[100010], i, sol;
ifstream cin("branza.in");
ofstream cout("branza.out");
deque <int> dq;
int main()
{
    cin>>n>>s>>t;
    for(i=1;i<=n;++i)
    {
        cin>>a[i]>>b[i];
        while(dq.front()+t<i)
                            dq.pop_front();
        while(!dq.empty() && a[dq.back()]+((i-dq.back())*s)>=a[i])
                          dq.pop_back();
        dq.push_back(i);
        sol+=b[i]*(a[dq.front()]+((i-dq.front())*s));
        
    }
    cout<<sol<<'\n';
    return 0;
}