围观下										
					
	
	
	
	       程序代码:
程序代码:#include<stdio.h>
#include<stdlib.h>
int n,inf[30001][3];
void in()
{
     int i;
     scanf("%d",&n);
     for(i=1;i<=n;i++)
       scanf("%d%d%d",&inf[i][0],&inf[i][1],&inf[i][2]);
}
void exc(int i,int j,int k)
{
     int t;
     t=inf[i][k];
     inf[i][k]=inf[j][k];
     inf[j][k]=t;
}
void qusort(int hand,int end)
{
     int i=hand,j=end;
     if(i<j)
       {while(i<j)
          {while(i<j && inf[i][1]<inf[j][1])
             j--;
           if(i<j)
             {exc(i,j,0);
               exc(i,j,1);
               exc(i,j,2);
               i++;
             }
           while(i<j && inf[i][1]<inf[j][1])
             i++;
           if(i<j)
             {exc(i,j,0);
               exc(i,j,1);
               exc(i,j,2);
               j--;
             }
          }
        qusort(hand,i-1);
        qusort(i+1,end);
       }
}            
long int Max()   
{
    int i,k;
    long int m[30001],max;
    m[1]=inf[1][2];
max=m[1];
    for(i=2;i<=n;i++)
      {m[i]=inf[i][2];
   for(k=1;k<i;k++)
         {if(inf[i][0]>=inf[k][1])
            {if(m[i]<m[k]+inf[i][2])
               m[i]=m[k]+inf[i][2];
    }
    else break; 
         }
       if(m[i]>max)
         max=m[i];
      }
    return max;
}        
void out(long int pr)
{
     printf("%ld\n",pr);
}
int main()
{
    long int max;
    in();
    qusort(1,n);
    max=Max();
    out(max);
    system("pause");
    return 0;
}										
					
	


 
											






 
	    

 
	



 
										
					
	 
										
					
	
