Cod sursa(job #2500049)

Utilizator miha5092mihai mitrea miha5092 Data 27 noiembrie 2019 10:28:14
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda guritza Marime 0.97 kb
#include <fstream>

using namespace std;

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

int n, s, t;
int ans;
int c[100005], p[100005];
int zi_prod[100005];

int main()
{
    in >> n >> s >> t ;
    for(int i=1; i<=n; i++)
    {
        in >> c[i] >> p[i] ;
    }
    int st=1, dr=1;
    zi_prod[1] = 1 ;
    ans = c[1] * p[1] ;
    for(int i=2; i<=n; i++)
    {
        if(i - st > t)
        {
            st++;
        }
        if(c[i] <= c[zi_prod[st]] + s*(i-st)) /// #StefanCombinatozaur /// #MiriEsteGay
        {
            dr++;
            zi_prod[dr] = i ;
            st = dr ;
            ans = ans + (c[st] + s*(i-st)) * p[i] ;
        }
        else if(c[i] > s*(i-st) + c[zi_prod[st]]) /// #ComentezCatVreau /// #Rebel /// #PisicaBogdan
        {
            dr++;
            zi_prod[dr] = i ;
            ans = ans + (c[st] + s*(i-st)) * p[i] ; /// #ShaormaCuCasiFaraCeapa
        }
    }
    out << ans ;
    return 0;
}