| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
求助,莫名RE#include<cstdio>
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
struct cow{
int s,e,n;
}d1[50005],d2[50005];
int c1,c2,n,k,c,x,y,ans;
bool cmp1(cow a,cow b){
return a.s<b.s;
}
bool cmp2(cow a,cow b){
return a.s>b.s;
}
priority_queue <int> q1;
priority_queue <int,vector<int>,greater<int> > q2;
int main(){
cin>>k>>n>>c;
for(int i=0;i<k;i++){
cin>>x>>y;
if(x<y){
d1[++c1].s=x;
d1[c1].e=y;
cin>>d1[c1].n;
}
else{
d2[++c2].s=x;
d2[c2].e=y;
cin>>d2[c2].n;
}
}
sort(d1+1,d1+c1+1,cmp1);sort(d2+1,d2+c2+1,cmp2);
for(int i=1;i<=c1;i++){
// cout<<"q1 "<<q1.empty()<<endl;
if(!q1.empty()){//就是在这里,q1.empty()一下就变成false
cout<<q1.size();
while(q1.top()<=d1[i].s){
if(q1.empty())break;
q1.pop();
ans++;
}
}
for(int i=0;i<d1[i].n;i++)q1.push(d1[i].e);
while(q1.size()>c){
q1.pop();
}
}
while(!q1.empty()){
q1.pop();
ans++;
}
for(int i=1;i<=c2;i++){
if(!q2.empty()){
while(q2.top()<=d1[i].s){
if(q2.empty())break;
q2.pop();
ans++;
}
}
for(int i=0;i<d2[i].n;i++)q2.push(d2[i].e);
while(q2.size()>c){
q2.pop();
}
}
while(!q2.empty()){
q2.pop();
ans++;
}
cout<<ans;
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator