http://poj.org/problem?id=3616
# include<iostream>
# include<algorithm>
using namespace std;
# define M 1003
struct INTERVAL
{
int s,e,w;
};
INTERVAL interval[M];
int unOverlap[M];
int cmp(INTERVAL a, INTERVAL b)
{
return a.e<b.e;
}
void ComputeOverlap(int m, int r)
{
int i,j;
for(i=m;i>=1;i--)
{
for(j=i-1;j>=1;j--)
{
if(interval[i].s<interval[j].e+r) //j and i overlap
{
//do nothing
}
else
{
break;
}
}
unOverlap[i]=j;
}
}
int main()
{
int n,m,r,state[M];
int i,j,k;
cin>>n>>m>>r;
for(i=1;i<=m;i++)
{
cin>>interval[i].s>>interval[i].e>>interval[i].w;
}
sort(interval+1,interval+1+m,cmp);
//for(i=1;i<=m;i++)
//{
// cout<<interval[i].s<<" "<<interval[i].e<<" "<<interval[i].w<<