Cod sursa(job #2927547)

Utilizator gabriel.9619Gabriel Stefan Tita gabriel.9619 Data 20 octombrie 2022 20:24:22
Problema Carnati Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int v[2001], t[2001];

int main()
{
    int n, k, i, s=0, smax=0, poz=1, pret, j;
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>t[i]>>v[i];
    }
    for(i=1;i<=n;i++)
    {
        s=0;
        int pret=v[i];
        poz=1;
        for(j=1;j<=n;j++)
        {
            if(v[j]>=pret)
            {
                if(s==0)
                {
                    s+=pret;
                    poz=t[j];
                    s-=k;
                }
                else
                if(s+pret-(t[j]-poz)*k>=0)
                {
                    s=s+pret-(t[j]-poz)*k;
                    poz=t[j];
                }
                else
                {
                    poz=t[j];
                    s=pret;
                }
                if(s>smax)
                {
                    smax=s;
                }
            }
        }
        fout<<smax<<" ";
    }
    fout<<smax;
}