Cod sursa(job #228722)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 7 decembrie 2008 21:09:08
Problema Gardieni Scor 70
Compilator c Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>   
  
#define NMAX 1<<16   
#define NN 1<<20   
#define INFINIT 90000010   
  
long N;   
long long X[NMAX],Y[NMAX],C[NMAX],minim[NN],rez,T;   
  
void read()   
{   
long i;   
  
freopen("gardieni.in","r",stdin);   
scanf("%ld %lld", &N, &T);   
  
for (i=1;i<=N;i++)   
     scanf("%lld %lld %lld", &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()   
{   
freopen("gardieni.out","w",stdout);   
printf("%lld\n", rez);   
}   
  
int main()   
{   
read();   
solve();   
print();   
return 0;   
}