NC205035. 猜数
描述
输入描述
第一行给出 n,m
第二行给出 n 个 0 ~ 9 的整数
输出描述
输出最少改动了几个数字。(保证答案)
示例1
输入:
2 3 1 1
输出:
1
C++ 解法, 执行用时: 191ms, 内存消耗: 4280K, 提交时间: 2021-08-19 13:27:29
#include<bits/stdc++.h> using namespace std; int n,m,a[1000010],s,ans; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; s+=a[i]; } sort(a+1,a+1+n); int i=1; while(s<m){ s+=9-a[i]; i++; ans++; } cout<<ans; }
pypy3(pypy3.6.1) 解法, 执行用时: 523ms, 内存消耗: 114740K, 提交时间: 2020-05-03 11:37:48
n,m=map(int,input().split(' ')) a=list(map(int,input().split(' '))) a.sort() m-=sum(a) s=0 x=0 i=0 while s<m and i<n: if a[i]<9: s+=9-a[i] i+=1 x+=1 print(x)
Python3(3.5.2) 解法, 执行用时: 570ms, 内存消耗: 22580K, 提交时间: 2020-05-01 21:54:50
n,m=map(int,input().split()) l=sorted(list(map(int,input().split()))) m,i=m-sum(l),0 while m>0:m-=9-l[i];i+=1 print(i)