Cod sursa(job #128174)

Utilizator floringh06Florin Ghesu floringh06 Data 26 ianuarie 2008 16:19:07
Problema Gardieni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <cstdio>
#include <cstring>

using namespace std;

#define FIN "gardieni.in"
#define FOUT "gardieni.out"
#define MAX_N 50005
#define MAX_T 1000005
#define INF 0x3f3f3f3

typedef struct 
{
        int a, b, c;
} type;

type A[MAX_N];
int min[MAX_T];

int N, T, i, j;

     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", &A[i].a, &A[i].b, &A[i].c);
             
         for (i = 1; i <= T; ++i)
             min[i] = INF;
             
         for (i = 1; i <= N; ++i)
             for (j = A[i].a; j <= A[i].b; ++j)
                 if (A[i].c < min[j]) min[j] = A[i].c;
         
         long long cost = 0;
         for (i = 1; i <= T; ++i)
             cost += (long long) min[i];
             
         printf ("%lld\n", (long long)cost);
         
         return 0;
     }