Cod sursa(job #2706664)

Utilizator catimincaMinca Ecaterina catiminca Data 15 februarie 2021 16:48:05
Problema Carnati Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("carnati.in");
ofstream g("carnati.out");
struct tip
{
    int t,c;
}a[5000];
int n,c,i,k,b,a1,a2,j,m;
int cmp(tip a,tip b)
{
    if(a.t<b.t)
        return 1;
 return 0;
 }
int main()
{
 f>>n>>c;
 for(i=1;i<=n;i++)
    f>>a[i].t>>a[i].c;
 sort(a+1,a+n+1,cmp);
 a[0].t=a[0].c=-10000;
 for(k=a[1].c,j=1;j<=n;j++,k=a[j].c)
 {
     a2=-10000;
    for(i=1;i<=n;i++)
     {
        if(a[i].c>=k)
            b=k;
        else
            b=0;
        a1=a2-(a[i].t-a[i-1].t)*c+b;
        if(a1<b-c)
            a1=b-c;
        a2=a1;
        if(a1>m)
            m=a1;
    }
}
g<<m;
 return 0;
}