#include <iostream> using namespace std; int main() { // 请在此输入您的代码 int n,m; int a[200000]; int b[200000]; int i; cin>>n>>m; for(i = 0;i < n; i++){ cin>>a[i]; } for(i = 0;i < n; i++){ cin>>b[i]; } int min = 0; while(m>0){ for(i = 0;i < n; i++){ if(a[min] > a[i]){ min = i; } } if(b[min]==0){ cout<<a[min]; return 0; } a[min]++; m--; b[min]--; } min = 0; for(int j = 0;j < n; j++){ if(a[min]>a[j]){ min = j; } } cout<<a[min]; return 0; }
用暴力直接爆了,后来试了很多种办法也写不出来了,哎
第一题比较简单
第二题试图用筛子,但是不知道范围而且很不好判断,只能抄代码了。