Cod sursa(job #200306)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 23 iulie 2008 12:25:05
Problema Gardieni Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>

#define NMAX 50010
#define FIN "gardieni.in"
#define FOUT "gardieni.out"
#define INFINIT 30000000

long N,T;
long X[NMAX],Y[NMAX],C[NMAX];
long minim[NMAX];
long rez;

void read()
{
long i;

freopen(FIN,"rt",stdin);
freopen(FOUT,"wt",stdout);

scanf("%ld %ld", &N, &T);

for (i=1;i<=N;i++)
     scanf("%ld %ld %ld", &X[i], &Y[i], &C[i]);
}

void solve()
{
long i,j;

for (i=1;i<=T;i++)
     minim[i]=INFINIT;
for (i=1;i<=N;i++)
     {
     for (j=X[i];j<=Y[i];j++)
	  if (minim[j]>C[i])
	      minim[j]=C[i];
      }

rez=0;
for (i=1;i<=T;i++)
    rez+=minim[i];
}

void print()
{
printf("%ld", rez);
}

int main()
{
read();
solve();
print();
return 0;
}