竞赛讨论区 > 改进后的算法也超时。。。
头像
cuco
发布于 2021-01-20 11:23
+ 关注

改进后的算法也超时。。。

为什么总是运行超时 ,。。。。通过率只有40%?
#include <iostream>
#include <algorithm>
const int  Max= 1e7+5;
using namespace std;

struct gift{
    int a;
    int b;
}gs[Max];

int cmp(gift &A, gift &B){
    if(A.a != B.a){
        return A.a <B.a;
        
    }
    else{
        return A.b >B.b;
    }
}

int main(){
    int t;int n,v;
    cin>>t;
    while(t--){
        cin>>n>>v;
        long long space =v;
        int num =0;
        for(int i=0;i<n;i++){
            int a ,b,c;
            cin>>a>>b;
            c = b-a;
            space =space+c;
            if(c>0){
                gs[num].a =a;
                gs[num].b = b;
                num++;
            }
        }
        sort(gs,gs+num,cmp);
        int flag = true;
        if(space<0){
            flag = false;
        }
        else{
            for(int k=0;k<num;k++){
                v = v-gs[k].a;
                if(v<0){
                    flag= false;
                    break;
                }
                else{
                    v= v+ gs[k].b;
                }
                
            }
        }
        if(flag){
            cout<<"yes"<<endl;
        }
        else{
            cout<<"no"<<endl;
        }
    }
}

全部评论

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

本文相关内容

等你来战

查看全部

热门推荐