十年生死
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十年生死相关的知识,希望对你有一定的参考价值。
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; }
以上是关于十年生死的主要内容,如果未能解决你的问题,请参考以下文章