Cod sursa(job #131068)

Utilizator TabaraTabara Mihai Tabara Data 3 februarie 2008 01:28:35
Problema Gardieni Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>

#define in "gardieni.in"
#define out "gardieni.out"
#define NMAX 50007
#define _INF (1<<31 - 1)
#define TMAX 1000001

int n, T;
long int cost, minim[TMAX];
int X[NMAX];
int Y[NMAX];
int C[NMAX];

int main()
{
    freopen( in, "r", stdin );
    freopen( out, "w", stdout );
    
    scanf( "%d%d", &n, &T );
    int i,j,k;
    for ( i = 1; i <= n; ++i ) {scanf( "%d%d%d", &X[i], &Y[i], &C[i] ); }

    for ( i = 1; i <= T; ++i ) { minim[i] = _INF; }
    

    for ( i = 1; i <= n; ++i ) //pt fiecare interval
    {
        for ( j = X[i]; j <= Y[i]; ++j )
            if ( C[i] < minim[j] )
               minim[j] = C[i];
    }
    cost = 0;
    for ( i = 1; i <= T; ++i )
        cost += minim[i];

    printf( "%d", cost );
    return 0;
}