Cod sursa(job #553422)

Utilizator Addy.Adrian Draghici Addy. Data 14 martie 2011 00:18:32
Problema Carnati Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#include <algorithm>

using namespace std;

#define NMAX 2011

int P[NMAX], T[NMAX], A[NMAX], sol, n, p, c, x, i, j;

int main  () {
	
	freopen ("carnati.in", "r", stdin);
	freopen ("carnati.out", "w", stdout);
	
	scanf ("%d %d", &n, &c);
	
	for (i = 1; i <= n; i++)
		scanf ("%d %d", &T[i], &P[i]);
	
	for (j = 1; j <= n; j++) {
		p = P[j];
		
		for (i = 1; i <= n; i++) {
			if (P[i] >= p) x = p;
			else x = 0;
			
			A[i] = max (x - c, A[i-1] + x - (T[i] - T[i-1]) * c);
			if (A[i] > sol) sol = A[i];
		}
	}
	
	printf ("%d", sol);
	
	return 0;
}