Cod sursa(job #464912)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 22 iunie 2010 15:41:31
Problema Gardieni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <vector>

using namespace std;

#define file_in "gardieni.in"
#define file_out "gardieni.out"

#define nmax 1028082

int n,t;
long long v[nmax];

void citire()
{
    int a,b;
    long long c;
    freopen(file_in,"r",stdin);
    freopen(file_out,"w",stdout);

    memset(v,0,sizeof(v));
    scanf("%d %d", &n, &t);
    for (int i=1;i<=n;++i)
    {
        scanf("%d %d %lld", &a, &b, &c);
        for (int j=a;j<=b;++j)
             if (v[j]==0 || v[j]>c)
                  v[j]=c;
    }
}

void solve()
{
    int i;
    long long suma=0;
    for (i=1;i<=t;++i)
          suma+=v[i];

    printf("%lld\n", suma);
}

int main()
{
    citire();
    solve();

    fclose(stdin);
    fclose(stdout);

    return 0;
}