这次说一下codefoces的一道简单题。
原题链接如下:
Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming community
https://codeforces.com/contest/1629/problem/A看过题之后应该会很容易想用到贪婪算法的思想
话不多说, 上代码:
#include<iostream> using namespace std; int a[105], b[105]; int n, k, t; void quick_sort(int q[], int p[], int l, int r) { if(l >= r) return ; int x = q[l], i = l - 1, j = r + 1; while (i < j) { do i ++ ; while(q[i] < x); do j -- ; while(q[j] > x); if(i < j) swap(q[i], q[j]), swap(p[i], p[j]); } quick_sort(q, p, l, j); quick_sort(q, p, j + 1, r); } int main() { scanf("%d", &t); while(t -- ) { scanf("%d%d", &n, &k); for(int i = 0; i < n; i ++ ) scanf("%d", &a[i]); for(int i = 0; i < n; i ++ ) scanf("%d", &b[i]); quick_sort(a, b, 0, n - 1); for(int i = 0; i < n; i ++ ) { if(k >= a[i]) { k += b[i]; } else break; } printf("%d\n", k); } return 0; }