제출 #331433

#제출 시각아이디문제언어결과실행 시간메모리
331433Sho10Devil's Share (RMI19_devil)C++14
14 / 100
82 ms2176 KiB
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho10
#define ll long long
#define double long double
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#define all(a) (a).begin(), (a).end()
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define pi pair
#define rc(s) return cout<<s,0
#define endl '\n'
#define mod 1000007
#define PI 3.14159265359
#define MAXN 100005
#define INF 1000000005
#define LINF 1000000000000000005ll
#define CODE_START  ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
ll t,cnt[25],k;
int32_t main(){
CODE_START;
cin>>t;
while(t--){
        cin>>k;
    for(ll i=1; i<=9; i++){
        cin>>cnt[i];
    }
    ll mx=0;
    for(ll i=1;i<=9;i++){
    if(cnt[i]>0){mx=i;}
    }

    string ans="";
    ans.pb('0'+mx);
    cnt[mx]--;
    mx=0;
    for(ll i=9; i>=1; i--){
        if(cnt[i]>0){
                mx=i;
        break;
        }
    }

    ll sum=0;
    for(ll i=1;i<mx;i++){
            if(sum>=cnt[mx]){
                break;
    }
     sum+=cnt[i];
     }
    if(sum>=cnt[mx]){
        for(ll i=1;(i<=mx)&&(cnt[mx]>0);i++){
            while((cnt[i]>0)&&(cnt[mx]>0)){
                    cout<<mx;
            cnt[mx]--;
            if(cnt[i]>0)
                {cout<<i;
            cnt[i]--;
            }
            }
        }
    }
 for(ll i=9;i>=1;i--){
        for(ll j=1;j<=cnt[i];j++){
            cout<<i;
}
    }
    cout<<ans<<endl;
}
}
/*
Subtask 2:
1
2
1 1 2 0 0 0 0 0 0
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...