Cod sursa(job #1297896)

Utilizator ade_tomiEnache Adelina ade_tomi Data 22 decembrie 2014 13:43:12
Problema Carnati Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<algorithm>
#include<stdio.h>
using namespace std;
int sol,pret,nr,cost,i,j,n;
struct str
{
    int t,c;
};
str v[2004];
bool sortare(str a,str b)
{
    return a.t<b.t;
}
int last,sum;
int main()
{
    freopen("carnati.in","r",stdin);
    freopen("carnati.out","w",stdout);
    scanf("%d%d",&n,&cost);
    for(i=1;i<=n;i++)
        scanf("%d%d",&v[i].t,&v[i].c);
    sort(v+1,v+1+n,sortare);
   // for(i=1;i<=n;i++)
     //   printf("%d %d\n",v[i].t,v[i].c);
     for(i=1;i<=n;i++)
    {
        pret=v[i].c;
        sum=0;
        int lj=0;
        for(j=1;j<=n;j++)
        {
            if(v[j].c>=pret)
            {
                sum-=(v[j].t-v[lj].t-1)*cost;
                if(sum<0)
                    sum=0;
                lj=j;
                sum+=pret-cost;
                if(sum>sol)
                    sol=sum;
            }
             
            
        }
        
    }
    printf("%d",sol);
    return 0;
}