Submission #198078

# Submission time Handle Problem Language Result Execution time Memory
198078 2020-01-24T15:56:42 Z model_code Devil's Share (RMI19_devil) C++17
100 / 100
110 ms 5232 KB
/**
* user:  puzic-97a
* fname: Mladen
* lname: Puzic
* task:  devil
* score: 100.0
* date:  2019-10-10 06:30:24.414140
*/
#include <bits/stdc++.h>
#define PRINT(x) cerr<<#x<<'='<<x<<endl;cout.flush();
#define NL(x) " \n"[(x)]
#define sz(x) int((x).size())
#define all(x) begin(x),end(x)
#define mid (l+r)/2
#define fi first
#define se second
#define pb push_back
#define endl '\n'
#define lld long long
#define pii pair<int,int>
#define pli pair<lld,int> 
#define pil pair<int,lld>
#define pll pair<lld,lld>
#define INF 1000000000
#define LINF 1000000000000000000LL
#define EPS 1e-9
using namespace std;
int K, c[10];
vector<string> s;
deque<string> d;
string solve() {
	string X = "";
	int idx = s.size()-1;
	while(!d.empty()) {
		string cur = d.front(); d.pop_front();
		s[idx] += cur;
		//PRINT(idx);
		//PRINT(cur);
		if(idx != 0 && (d.empty() || cur != d.front())) {
			while(sz(s) > idx) {
				d.pb(s.back());
				//PRINT(s.back());
				s.pop_back();
			}
		}
		//PRINT(cur);
		//PRINT(s.size());
		idx--;
		if(idx == -1) idx = s.size()-1;
	}
	for(auto x : s) X += x;
	return X;
}
int main() {
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cerr.tie(0);
	int T; cin >> T;
	while(T--) {
		s.clear(); d.clear();
		cin >> K;
		for(int i = 1; i <= 9; i++) cin >> c[i];
		string suffix = ""; ///obrnut!!!!
		int cif = 9;
		for(int i = 0; i < K-1; i++) {
			while(c[cif] == 0) cif--;
			suffix += cif+'0';
			c[cif]--;
		}
		while(c[cif] == 0) cif--;
		while(c[cif]) s.pb(string(1, cif+'0')), c[cif]--;
		for(int i = 1; i <= 9; i++) {
			while(c[i]) {
				d.push_back(string(1, i+'0'));
				c[i]--;
			}
		}
		string x = solve();
		reverse(all(suffix));
		cout << x + suffix << endl;
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 4 ms 380 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 102 ms 1272 KB Output is correct
2 Correct 89 ms 1484 KB Output is correct
3 Correct 84 ms 1400 KB Output is correct
4 Correct 103 ms 1408 KB Output is correct
5 Correct 63 ms 1272 KB Output is correct
6 Correct 47 ms 1528 KB Output is correct
7 Correct 52 ms 1400 KB Output is correct
8 Correct 47 ms 1528 KB Output is correct
9 Correct 49 ms 4592 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 58 ms 1272 KB Output is correct
2 Correct 52 ms 1400 KB Output is correct
3 Correct 35 ms 4452 KB Output is correct
4 Correct 58 ms 4584 KB Output is correct
5 Correct 110 ms 4556 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 380 KB Output is correct
2 Correct 102 ms 1272 KB Output is correct
3 Correct 89 ms 1484 KB Output is correct
4 Correct 84 ms 1400 KB Output is correct
5 Correct 103 ms 1408 KB Output is correct
6 Correct 63 ms 1272 KB Output is correct
7 Correct 47 ms 1528 KB Output is correct
8 Correct 52 ms 1400 KB Output is correct
9 Correct 47 ms 1528 KB Output is correct
10 Correct 49 ms 4592 KB Output is correct
11 Correct 58 ms 1272 KB Output is correct
12 Correct 52 ms 1400 KB Output is correct
13 Correct 35 ms 4452 KB Output is correct
14 Correct 58 ms 4584 KB Output is correct
15 Correct 110 ms 4556 KB Output is correct
16 Correct 78 ms 1144 KB Output is correct
17 Correct 86 ms 1400 KB Output is correct
18 Correct 69 ms 1272 KB Output is correct
19 Correct 104 ms 1568 KB Output is correct
20 Correct 35 ms 1400 KB Output is correct
21 Correct 34 ms 1400 KB Output is correct
22 Correct 36 ms 1656 KB Output is correct
23 Correct 45 ms 5232 KB Output is correct