Cod sursa(job #233685)

Utilizator gh09chisinau gheorghita gh09 Data 18 decembrie 2008 21:57:19
Problema Gardieni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
# include <cstdio>

# define FIN "gardieni.in"
# define FOUT "gardieni.out"
# define min(a,b) (a < b ? : b)
# define MAXN 50010
# define MAXM 1000010
# define inf 1100000

struct triolet
{
   int a, b, c;
} H[MAXN];

int N, T, i, j;
long long C[MAXM];
long long c_min;

    int main()
    {
        freopen(FIN,"r",stdin);
        freopen(FOUT,"w",stdout);
        
        scanf("%d%d",&N,&T);
        
        for (i = 1; i <= N; ++i)
           scanf("%d%d%d",&H[i].a,&H[i].b,&H[i].c);

        for (i = 1; i <= T; ++i)
           C[i] = inf;
        
        for (i = 1; i <= N; ++i)
           for (j = H[i].a; j <= H[i].b; ++j)
              C[j] = min(C[j], H[i].c);
        
        for (i = 1, c_min = 0; i <= T; ++i)
           c_min += C[i];
        
        printf("%lld",c_min);
        
        return 0;
    }