Pagini recente » Cod sursa (job #71892) | Cod sursa (job #531479) | Cod sursa (job #834437) | Cod sursa (job #2216251) | Cod sursa (job #1397253)
#include <fstream>
using namespace std;
ifstream fin ("carnati.in");
ofstream fout ("carnati.out");
typedef struct { int t, p; } art;
int N, Sal_Zi, Pret_Produs, timp, val, maxim;
art V[2010];
int main()
{
fin >> N >> Sal_Zi;
for (int i = 1; i <= N; i++) {
fin >> V[i].t >> V[i].p;
}
for (int i = 1; i <= N; i++)
{
Pret_Produs = V[i].p;
val = 0;
timp = V[1].t;
for (int j = 1; j <= N; j++)
{
val = val + (V[j].p >= Pret_Produs ? Pret_Produs : 0) - (V[j].t - timp + 1) * Sal_Zi;
if (val < 0)
{
val = 0;
timp = V[j+1].t;
}
else
{
if (val > maxim) maxim = val;
timp = V[j].t + 1;
}
}
}
fout << maxim << '\n';
fout.close();
return 0;
}