Cod sursa(job #200305)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 23 iulie 2008 12:20:19
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

int N,T;
int X[NMAX],Y[NMAX],C[NMAX];
int minim[NMAX];
int rez,i,j;

void read()
{
int i;

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

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

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

void solve()
{
int 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("%d", rez);
}

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