Pagini recente » Cod sursa (job #138416) | Cod sursa (job #244815) | Cod sursa (job #1068) | Cod sursa (job #1609019) | Cod sursa (job #137838)
Cod sursa(job #137838)
#include <stdio.h>
const int N_MAX = 2010;
int T[N_MAX], P[N_MAX], vec[N_MAX];
int N, C;
int suma(int v[])
{
int MAX = v[0], sc = v[0], i;
for (i = 1; i <= 1500; i ++) {
if (sc > 0) sc += v[i];
else {
sc = v[i];
}
if (sc > MAX) MAX = sc;
}
return MAX;
}
int main()
{
freopen("carnati.in", "r", stdin);
#ifndef _SCREEN_
freopen("carnati.out", "w", stdout);
#endif
int i, pret, j, s, MAX = 0;
scanf("%d %d\n", &N, &C);
for (i = 1; i <= N; i ++) {
scanf("%d %d\n", &T[i], &P[i]);
}
for (i = 1; i <= N; i ++) {
pret = P[i];
for (j = 0; j <= 1500; j ++) vec[j] = -C;
for (j = 1; j <= N; j ++) {
if (P[j] >= pret) vec[T[j]] += pret;
}
s = suma(vec);
if (s > MAX) MAX = s;
}
printf("%d\n", MAX);
return 0;
}