Cod sursa(job #3247252)

Utilizator MMEnisEnis Mutlu MMEnis Data 6 octombrie 2024 16:35:09
Problema Carnati Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("carnati.in");
ofstream g("carnati.out");

struct
{
    int pret,timp;
}v[2001];

int main()
{
    int n, t, i, j, poz, maxx=-1;
    f >> n >> t;
    for( i=1; i <=n ; i++ )
        f >> v[i].timp >> v[i].pret;

    for( i=1; i <= n; i++ )
    {
        int p = v[i].pret;
        int s = 0;
        for( j=1; j <= n; j++ )
        {
            if( v[j].pret >= p )
            {
                poz = v[j].timp - 1;
                break;
            }
        }
        for( j=1; j <= n; j++ )
        {
            if( p <= v[j].pret )
            {
                if( p - t >= s + p - (v[j].timp - poz)*t )
                    s = p - t;
                else s += p - (v[j].timp - poz)*t;
                poz = v[j].timp;
                if( maxx < s)
                    maxx=s;
            }
        }
    }
    g<<maxx;
    return 0;
}