Cod sursa(job #125254)

Utilizator swift90Ionut Bogdanescu swift90 Data 20 ianuarie 2008 12:18:35
Problema Gardieni Scor 20
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasa a 10-a Marime 0.64 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int cost[1000100];
pair<pair<int,int>,int>nr[50100];
int main(){
	freopen("gardieni.in","r",stdin);
	freopen("gardieni.out","w",stdout);
	int n,t,i,j,s;
	scanf("%d%d",&n,&t);
	for(i=0;i<n;++i)
		scanf("%d%d%d",&nr[i].first.first,&nr[i].first.second,&nr[i].second);
	
	
	for(i=0;i<n;++i){
		for(j=nr[i].first.first;j<=nr[i].first.second;++j)
			if(cost[j]){
				if(cost[j]>nr[i].second)
					cost[j]=nr[i].second;
			}
			else
				cost[j]=nr[i].second;
	}
	s=0;
	for(i=1;i<=t;++i)
		s+=cost[i];
	
	printf("%d\n",s);
	
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}