結果
問題 | No.1231 Make a Multiple of Ten |
ユーザー | zumin |
提出日時 | 2021-02-25 22:57:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 76 ms / 2,000 ms |
コード長 | 727 bytes |
コンパイル時間 | 732 ms |
コンパイル使用メモリ | 70,060 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-01 14:06:21 |
合計ジャッジ時間 | 2,833 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:34:15: warning: 'md' may be used uninitialized [-Wmaybe-uninitialized] 34 | if(rec(cnt,10,i,md)){ | ~~~^~~~~~~~~~~~~ main.cpp:23:9: note: 'md' was declared here 23 | int md; | ^~
ソースコード
#include <iostream> #include <vector> using namespace std; bool rec(vector<int> cnt,int prev,int res,int md){ if(res==0){ return md==0; } bool ans=false; for(int i=prev-1;i>=1;i--){ for(int j=1;j<=min(cnt[i],res);j++){ cnt[i]-=j; ans|=rec(cnt,i,res-j,(md-i*j+10*j)%10); cnt[i]+=j; } } return ans; } int main(){ int n; int md; vector<int> cnt(10,0); cin>>n; for(int i=0;i<n;i++){ int ai; cin>>ai; cnt[ai%10]++; md+=ai; md%=10; } for(int i=0;i<=min(10,n);i++){ if(rec(cnt,10,i,md)){ cout<<n-i<<endl; return 0; } } return 0; }