標籤:codeforces 貪進法
1.題目描述:點擊開啟連結
2.解題思路:本題利用貪進法解決。首先對數組排序,由大到小選擇,恰好大於等於k時候停止即可。如果全部相加仍然小於k,則無解。
3.代碼:
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<algorithm>#include<string>#include<sstream>#include<set>#include<vector>#include<stack>#include<map>#include<queue>#include<deque>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<ctime>#include<functional>using namespace std;#define me(s) memset(s,0,sizeof(s))typedef long long ll;typedef unsigned int uint;typedef unsigned long long ull;typedef pair <int, int> P;const int N=20;int a[N];int k;int main(){ while(~scanf("%d",&k)) { for(int i=1;i<=12;i++) scanf("%d",&a[i]); sort(a+1,a+12+1); int st=12,sum=0; int ans=-1; while(sum<k&&st>=1) { sum+=a[st--]; } if(sum>=k&&st>=0)ans=12-st; printf("%d\n",ans); }}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
#106 (div.2) A. Business trip