首页 > 代码库 > 十年生死

十年生死

http://west14.openjudge.cn/20161001/C/

技术分享
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm> using namespace std;int n,m,k;struct  Edge{    int si,ti,vi;}a[500000];int f[500000],z[500000];int find(int x){    int sum=0;    memset(z,0,sizeof z );    for(int i=1;i<=n;i++)    {        if(a[i].ti>=x&&a[i].si<=x)          z[++sum]=-a[i].vi;    }    sort(z+1,z+sum+1);    return -z[k];}int main(){    cin>>n>>m>>k;    for(int i=1;i<=n;i++)    {        cin>>a[i].si>>a[i].ti>>a[i].vi;        for(int j=a[i].si;j<=a[i].ti;j++)          f[j]++;        }    for(int i=1;i<=m;i++)    {        if(f[i]<k) cout<<"-1"<<endl;        else cout<<find(i)<<endl;            }     return 0;}
View Code

 

十年生死