2 条题解
-
0
#include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e5 + 1; int n, m; struct u{ int best;//最好 double pj;//平均 int un;//最坏 }a[N]; bool cmp(u x, u y){ return x.best < y.best; } int sum1 = 0; int sum2 = 0; int sum3 = 0; int ans = 0, hqt, sum = 0; signed main() { // freopen("ddl_sample5.in", "r", stdin); cin >> n >> m; for (int i = 0; i < n; i ++){ int x, y; double z; cin >> x >> y; z = (x + y) / 2; a[i].best = x; a[i].un = y; a[i].pj = z; } for (int i = 0; i < n; i ++){ sum1 += a[i].best; sum2 += a[i].pj; sum3 += a[i].un; } // cout << sum3 << endl << sum2 << endl << sum1 << endl; if(sum3 < m){ cout << "OK"; return 0; }else if(sum2 < m){ cout << "Maybe OK"; return 0; }else if(sum1 < m){ cout << "Maybe"; return 0; } sort(a, a + n, cmp); for (int i = 0; i < n; i ++){ if(sum > m){ hqt = ans; } sum += a[i].un; ans ++; // cout << ans << " "; } cout << hqt; return 0; } 大佬教教我qwq
-
0
#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; }
- 1
信息
- ID
- 4444
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 23
- 已通过
- 5
- 上传者