Cod sursa(job #1258908)

Utilizator VisanCosminVisan Tudor Cosmin VisanCosmin Data 9 noiembrie 2014 15:54:29
Problema Carnati Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>

long abs(long n)
{
    if(n<0) return -n;
    return n;
}
int n,t[2001];
long c[2001],p,old,maxs,news;

int main()
{
    FILE*f =fopen("carnati.in","r");
    fscanf(f,"%d%d",&n,&p);
    for(int i = 0 ;i<n;i++)
        fscanf(f,"%d%d",&t[i],&c[i]);
    fclose(f);

    for(int i = 0 ;i<n;i++)
    {
        old = news = 0;

        for(int j = 0 ;j<n;j++)
        {
            if(c[j]>=c[i])
                news = old -(abs(t[j]-t[i]))*p+c[i];
            if(news >= maxs) maxs = news;
            old = news;
        }
    }

    FILE * g = fopen("carnati.out","w");
    fprintf(g,"%d",maxs-p);
    fclose(g);
    return 0;
}