首页 > 其他 > 详细

bug

时间:2019-03-18 20:04:23      阅读:153      评论:0      收藏:0      [点我收藏+]

#include<bits/stdc++.h>
#define FOR(i,f_start,f_end) for(int i=f_start;i<=f_end;i++)
#define MS(arr,arr_value) memset(arr,arr_value,sizeof(arr))
#define F first
#define S second
#define pii pair<int ,int >
#define mkp make_pair
#define pb push_back
using namespace std;
const int maxn=5000+5;
struct cmp{
    bool operator()(const pii p1,const pii p2){
        return p1.F>p2.F;
    }

};
priority_queue<pii,vector<pii> ,cmp>q;
queue<pii>s;
int a[maxn];
int main(){
    int n,k;
    scanf("%d%d",&n,&k);
    FOR(i,1,n)scanf("%d",&a[i]);
    int now=0;
    int ok=0;
    int p=1;
    int ans=0;
    int que[1005];
    int last=0;
    for(;;){
        if(q.empty()&&p>n)break;
        while(q.size()<k&&p<=n){
            q.push(mkp(now+a[p],p));
                p++;
                
        }
        pii v=q.top();
        s.push(v);
        q.pop();
        int tmp=0;
        ok++;
        tmp++;
        while(!q.empty()&&q.top().F==v.F){
            s.push(q.top());
            q.pop();
            ok++;
            tmp++;
        }
        int d1=(100.0*ok/n+0.5);
        while(!s.empty()){
            pii u=s.front();
            s.pop();
         cout<<a[u.S]<<" "<<d1<<" "<<last<<endl;
            if(a[u.S]>=last&&last!=0)ans++;
        }
        last=d1;
        now=v.F;    
    }
    cout<<ans<<endl;
    return 0;

}

bug

原文:https://www.cnblogs.com/ttttttttrx/p/10554167.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!