2 条题解

  • 0
    @ 2025-10-16 18:56:10
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N = 1e5 + 1;
    const int inf = 0x3f3f3f3f;
    struct abc{
    	int l , r;
    };
    abc a[N];
    bool hqt(abc x , abc y){
    	return x.l < y.l;
    }
    signed main(){
    //	freopen("ddl_sample5.in" , "r" , stdin);
    //	freopen("1.ans" , "w" , stdout);
    	int n , L;
    	cin >> n >> L;
    //	cout << n  << " " << L << endl;
    	int maxx = 0;
    	int minn = 0;
    	double mid = 0;
    	for(int i = 1 ; i <= n ; i ++){
    		cin >> a[i].l >> a[i].r;
    		maxx += a[i].r;
    		minn += a[i].l;
    		mid += (1.0 * (a[i].r + a[i].l)) / 2;
    	}
    //	cout << maxx << " " << minn << " " << (int)mid << endl;
    	if(L >= maxx){
    		cout << "OK";
    		exit(0);
    	}else if(L >= minn && (double)L < mid){
    		cout << "Maybe";
    		exit(0);
    	}else if((double)L >= mid && L >= minn){
    		cout << "Maybe OK";
    		exit(0);
    	}
    	int ans = 0;
    	sort(a + 1 , a + n + 1 , hqt);
    	for(int i = 1 ; i <= n ; i ++){
    		if(L < a[i].l) break;
    		L -= a[i].l;
    		ans ++;
    	}
    	cout << ans;
    	return 0;
    }
    

    信息

    ID
    4444
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    (无)
    递交数
    23
    已通过
    5
    上传者