NC14317. Aria
描述
输入描述
第一行,一个正整数𝑛。
第二行,𝑛个正整数𝑎𝑖。
输出描述
一行,一个正整数,即最大的𝑠𝑢𝑚。
示例1
输入:
5 42 1 3 3 6
输出:
100
说明:
∙ 0+42=42C++ 解法, 执行用时: 7ms, 内存消耗: 528K, 提交时间: 2021-07-12 19:25:21
#include<bits/stdc++.h> using namespace std; int n,a[6],s; void dfs(int x,int y) { if(x>=n) { s=max(s,y); return; } y+=a[x]; int c[10]; int cc=0; while(y>0) { c[cc++]=y%10; y/=10; } sort(c,c+cc); do { int ny=0; for(int i=0;i<cc;i++) { ny=ny*10+c[i]; } dfs(x+1,ny); }while(next_permutation(c,c+cc)); } int main() { cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } dfs(0,0); cout<<s<<endl; }