Pagini recente » Profil Paduchele007 | Cod sursa (job #455485) | Istoria paginii runda/antr9-oji | Cod sursa (job #479256) | Cod sursa (job #599572)
Cod sursa(job #599572)
#include <cstring>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
int N, C;
int S[1502], money[2002], maxtime;
long long maxS[1502];
long long result;
int main()
{
ifstream fin("carnati.in");
ofstream fout("carnati.out");
fin >> N >> C;
for (int i = 1, time; i <= N; ++i)
{
fin >> time >> money[i];
maxtime = max(maxtime, time);
S[time] += money[i];
}
for (int i = 1; i <= N; ++i) // daca pretul este i
{
memset(maxS, 0, sizeof(maxS));
for (int j = 0; j <= maxtime; ++j)
{
long long add = (S[j] >= money[i] ? money[i] : 0);
if (j == 0) maxS[j] = add - C;
else maxS[j] = max(add - C, maxS[j - 1] + add - C);
result = max(result, maxS[j]);
}
}
fout << result;
fin.close();
fout.close();
}