zoukankan      html  css  js  c++  java
  • codeforces 391C3

    在第8组数据上WA了一天,后来才发现问题;

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxn 200009
    #define inf 1e15
    using namespace std;
    int n,k,q;
    struct node
    {
        int score;
        int pain;
        bool operator<(const node &t)const
        {
            return pain<t.pain;
        }
    } no[maxn];
    
    bool cmp(const node &a,const node &b)
    {
        return a.score>b.score;
    }
    
    bool vis[maxn];
    int s[maxn];
    
    long long check(int p)
    {
        long long ans=0;
        int cnt_1=0;
        for(int i=1;i<=n;i++)
            if(no[i].score>=p-1)cnt_1++;
        cnt_1-=k-1;
        int cnt_2=0;
        for(int i=1;i<=n&&cnt_2<cnt_1;i++)
        {
            if(no[i].score==p||no[i].score==(p-1))
            {
                ans+=no[i].pain;
                cnt_2++;
                vis[i]=1;
            }
        }
        for(int i=1;i<=n&&cnt_2<p;i++)
        {
            if(!vis[i])
            {
                ans+=no[i].pain;
                cnt_2++;
            }
        }
        memset(vis,0,sizeof vis);
        return ans;
    }
    
    int main()
    {
        scanf("%d%d",&n,&k);
        for(int i=1; i<=n; i++)
            scanf("%d%d",&no[i].score,&no[i].pain);
        sort(no+1,no+n+1,cmp);
        int tar=no[k].score;
        sort(no+1,no+n+1);
        long long ans=inf;
        for(int i=tar;i<=tar+2;i++)
        {
            if(i>n)break;
            ans=min(ans,check(i));
        }
        if(ans==inf)ans=-1;
        cout<<ans<<endl;;
    }
    View Code
  • 相关阅读:
    沟通的5个步骤
    安家博客园,发表感想
    postman 简单教程-实现简单的接口测试
    Postman的基本使用
    面试题-如何测试一个APP
    Fiddler快捷方式导出jmeter脚本,傻瓜式
    Servlet学习(三)
    scala学习(一)
    白底抠图
    Servlet学习(二)
  • 原文地址:https://www.cnblogs.com/yours1103/p/3575192.html
Copyright © 2011-2022 走看看