Pagini recente » Cod sursa (job #916827) | Cod sursa (job #1446575) | Cod sursa (job #2201368) | Cod sursa (job #1031801) | Cod sursa (job #721071)
Cod sursa(job #721071)
#include<stdio.h>
#include<vector>
#include<set>
using namespace std;
FILE*f=fopen("gardieni.in","r");
FILE*g=fopen("gardieni.out","w");
int x,n,t,s,nr,a,b,c;
set<int> sol;
vector<int> v[1000002];
long long ss;
int main()
{
fscanf(f,"%d%d",&n,&t);
for(int i=1;i<=n;++i)
{
fscanf(f,"%d%d%d",&a,&b,&c);
v[a].push_back (c);
v[b].push_back (-c);
}
for(int i=1;i<=t;++i)
{
for(int j=0;j<v[i].size();++j)
if(v[i][j]>0)
sol.insert (v[i][j]);
s=2000000000;
set<int>::iterator it;
for(it=sol.begin();it!=sol.end();++it)
if(s>*it)
s=*it;
ss+=s;
for(int j=0;j<v[i].size();++j)
if(v[i][j]<0)
{
x=-v[i][j];
sol.erase (x);
}
}
fprintf(g,"%lld",ss);
fclose(f);
fclose(g);
return 0;
}