竞赛讨论区 > 2021牛客寒假算法基础集训营2G牛牛与比赛颁奖
头像
pingfan
发布于 2021-02-08 13:56
+ 关注

2021牛客寒假算法基础集训营2G牛牛与比赛颁奖

为什么这份代码27行一定要到0才能AC呢?通过0题的人数也会影响奖牌人数么,还有19行last=0,也报错了。求大佬解惑。测试了几组没问题但是通过30%.....

#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=2e5+5;
map<int,int>mp;
int cot[N];//通过i题的队伍人数 
int main()
{
    int n,m;
    cin>>n>>m;
    int l,r;
    for(int i=0;i<m;i++){
        cin>>l>>r;
        mp[l]++;
        mp[r+1]--;
    }
    int linej=0,liney=0,linet=0,j=ceil(1.0*n/10),y=ceil(1.0*n/4),t=ceil(1.0*n/2);
    int last=1,cnt=0,maxx=0;
    for(auto it:mp){
        cot[cnt]+=it.first-last;
        last=it.first;
        cnt+=it.second;
        maxx=max(maxx,cnt);
    }
    //cout<<j<<' '<<y<<' '<<t<<'\n';
    for(int i=maxx;i>=1;i--){
        cot[i]+=cot[i+1];
        if(cot[i]>=j&&!linej)linej=max(1,i);
        if(cot[i]>=y&&!liney)liney=max(1,i);
        if(cot[i]>=t&&!linet)linet=max(1,i);
        //cout<<cot[i]<<' ';
    }
    //cout<<'\n';
    //cout<<linej<<' '<<liney<<' '<<linet<<'\n';
    cout<<cot[linej]<<' '<<cot[liney]-cot[linej]<<' '<<cot[linet]-cot[liney]<<'\n';
  return 0;
}
/*
1 1
1 1
1 0 0
*/

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐