NC215078. 法力增幅
描述
输入描述
第一行两个整数(用空格隔开) n x ,其中n为卡牌数量,x为总费用值。
第二行 n个整数(用空格隔开),,为第i张卡牌的费用值。
输出描述
一个整数,表示能用出的最大卡牌数量。
示例1
输入:
5 8 4 4 4 3 7
输出:
3
说明:
一共使用了3张牌C++(clang++11) 解法, 执行用时: 85ms, 内存消耗: 1056K, 提交时间: 2020-12-18 19:42:58
#include<iostream> #include<algorithm> using namespace std; int main() { long long int n,x,i,j=0,a[100000]; cin>>n>>x; for(i=0;i<n;i++) cin>>a[i]; sort(a,a+n); while(x>=a[j]&&j<n) { x-=a[j++]; for(i=0;i<n;i++) if(a[i]==0); else a[i]=a[i]-1; } cout<<j; }