Cod sursa(job #1336003)

Utilizator Vlad_317Vlad Panait Vlad_317 Data 6 februarie 2015 12:35:16
Problema Carnati Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>

using namespace std;

#define MAX 2000

int a[MAX+1],b[MAX+1];

int main()
{
    FILE *fin,*fout;

    fin=fopen("carnati.in","r");
    fout=fopen("carnati.out","w");

    int n,i,c,last=0,sumcur=0,o,ne,max=0;

    fscanf(fin,"%d%d",&n,&c);

    for(i=1;i<=n;i++)
        fscanf(fin,"%d%d",&a[i],&b[i]);

    for(i=1;i<=n;i++)
    {
        int g;
        o=0;
        for(int j=1;j<=n;j++)
        {
            if(b[j]>=b[i])
                g=b[i];
            else
                g=0;
            ne=o-(a[j]-a[j-1])*c+g;
            if(ne<g-c)
                ne=g-c;
            if(ne>max)
                max=ne;
            o=ne;
        }
    }

    fprintf(fout,"%d",max);


    return 0;
}