Pagini recente » Monitorul de evaluare | Cod sursa (job #3158653) | Cod sursa (job #2094819) | Cod sursa (job #1311479) | Cod sursa (job #1397304)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("carnati.in");
ofstream fout ("carnati.out");
int N, Sal_Zi, Pret_Produs, val, maxim;
pair < int, int > V[2010];
int main()
{
fin >> N >> Sal_Zi;
for (int i = 1; i <= N; i++) {
fin >> V[i].first >> V[i].second;
}
sort (V + 1, V + 1 + N);
for (int i = 1; i <= N; i++)
{
Pret_Produs = V[i].second;
val = 0;
for (int j = 1; j <= N; j++)
{
val = max ((V[j].second >= Pret_Produs ? Pret_Produs : 0) - (V[j].first - V[j-1].first) * Sal_Zi + val,
(V[j].second >= Pret_Produs ? Pret_Produs : 0) - Sal_Zi);
if (val > maxim) maxim = val;
}
}
fout << maxim << '\n';
fout.close();
return 0;
}