Cod sursa(job #2333075)

Utilizator AnnaLipianuLipianu Ana AnnaLipianu Data 31 ianuarie 2019 17:56:47
Problema Carnati Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#define NMAX 2000
using namespace std;
int p[NMAX+1],t[NMAX+1];
int main()
{
    freopen("carnati.in","r",stdin);
    freopen("carnati.out","w",stdout);
    int profit,i,ti,pret,n,c,l,pm=0;
    scanf("%d%d",&n,&c);
    for(i=1;i<=n;i++)
        scanf("%d%d",&t[i],&p[i]);
    profit=0;
    pret=p[1];
    l=1;
    for(i=1;i<=n;i++)
    {
        if(pret*l-c*(t[i]-t[i-1])<0)
        {
            if(profit>pm)
                pm=profit;
            l=1;
            pret=p[i];
        }
        else
        {
            if(p[i]>=pret)
                l++;
            profit=pret*l-c*(t[i]-t[i-1]);
        }
    }
    if(profit>pm)
        pm=profit;
    printf("%d",pm);
    return 0;
}