Cod sursa(job #166866)

Utilizator stefysStefan stefys Data 28 martie 2008 16:25:26
Problema Gardieni Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#include <stdlib.h>
//#include <mem.h>

#define MAX_TIME 1000001

int main (void)
{
	int i, N, T, startTime, endTime, cost, j;
	int *minCost = malloc(MAX_TIME);
	long long sum=0;
	
	freopen("gardieni.in", "r", stdin);
	freopen("gardieni.out", "w+", stdout);
	
	scanf("%d %d", &N, &T);
	memset(minCost, 0, sizeof(int)*(T+1));
	for (i=0; i<N; ++i) {
		scanf("%d %d %d", &startTime, &endTime, &cost);
		for (j=startTime; j<=endTime; ++j)
			if (minCost[j]==0 || minCost[j]>cost)
				minCost[j]=cost;
	}
	
	for (i=1; i<=T; ++i)
		sum += minCost[i];
	
	printf("%lld\n", sum);
	
	fclose(stdin);
	fclose(stdout);
	free(minCost);
	return 0;
}