Cod sursa(job #2651774)

Utilizator tudorbuhniaTudor Buhnia tudorbuhnia Data 23 septembrie 2020 15:48:33
Problema Carnati Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int n,cp;
struct bos
{
    int x,y;
}v[2005];
bool bsort(bos a,bos b)
{
    return (a.x<b.x);
}
int ssm(int sum)
{
    int res=0,c=0,timp=1;
    for (int i=0; i<n; i++)
    {
        c=max(c-c*timp,0);
        timp=v[i+1].x-v[i].x;
        if(v[i].y>=sum)
            c = c + sum;
        if(c>res)
            res=c;
        if(c<0)
        {
            c=0;
            timp=1;
        }
    }
    return res;
}
int main()
{
    int x,y,output=0,xy;
    cin >> n >> cp;
    for(int i=0;i<n;i++)
    {
        cin >> x >> y;
        v[i].x=x;
        v[i].y=y;
    }
    sort(v,v+n,bsort);
    for(int i=0;i<n;i++)
    {
        xy=ssm(v[i].y);
        if(xy>output)
            output=xy;
    }
    cout << output;
    return 0;
}