Cod sursa(job #2422317)

Utilizator PredaBossPreda Andrei PredaBoss Data 18 mai 2019 13:12:37
Problema Carnati Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
using namespace std;
vector<int>t[1502];
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int n ,c,i;
int ssm[1502];
int timp , pret, timpmax;
unordered_map<int,bool>price;
int main()
{
    fin>>n>>c;
    for(i=1;i<=n;i++)
    {
            fin>>timp>>pret;
            t[timp].push_back(pret);
            timpmax=max(timpmax,timp);
            price[pret]=true;
        }
    int mn , ans=0;
    for(auto it:price)
        {
            mn=0;
            for(int z=0;z<=timpmax;z++)
            {
                ssm[z]=ssm[z-1]-c;
                for(auto it2:t[z])
                    if(it2>=it.first)
                        ssm[z]+=it.first;
                ans=max(ans,ssm[z]-mn);
                mn=min(mn,ssm[z]);
            }
        }
    fout<<ans<<" ";
    return 0;
}