Cod sursa(job #257781)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 13 februarie 2009 22:44:30
Problema Gardieni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#define inf 1000000000
#define min(a,b) (a<b?a:b)

FILE *fin=fopen("gardieni.in","r"),
    *fout=fopen("gardieni.out","w");

int N,T,x[50007],y[50007],c[500007],minim[1000009];

int main(){
    fscanf(fin,"%d %d",&N,&T);
    for(int i=1;i<=N;i++)
        fscanf(fin,"%d %d %d",&x[i],&y[i],&c[i]);

    for(int i=1;i<=T;i++)
        minim[i]=inf;

    for(int i=1;i<=N;i++)
        for(int j=x[i];j<=y[i];j++)
            minim[j]=min(minim[j],c[i]);

    long long rez=0;
    for(int i=1;i<=T;i++)
        rez+=(long long)minim[i];
    fprintf(fout,"%lld\n",rez);
    fclose(fin);
    fclose(fout);
    return 0;
}