262 2021. 03. 07 17:19:34 Valaki2 Váltakozó (75 pont) cpp14 Elfogadva 75/75 21ms 5000 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	string s;
  cin >> s;
  vector<int> v(26, 0);
  for(int i = 0; i < s.size(); ++i) {
    ++v[s[i]-'a'];
  }
  for(int i = 0; i < 26; ++i) {
    if(s.size()%2==1) {
      if(v[i] > s.size()/2+1) {
        cout << "-1\n";
        return 0;
      }
    }
    if(s.size()%2==0) {
      if(v[i] > s.size()/2) {
        cout << "-1\n";
        return 0;
      }
    }
  }
  int l = -1;
  for(int i = 0; i < s.size(); ++i) {
    int ind = -1;
    for(int j = 25; j >= 0; --j) {
      if(!v[j]) continue;
      if(j==l) continue;
      if((s.size()-i)%2==1 && v[j] == (s.size()-i)/2+1) {
        ind = j;
        break;
      }
      ind = j;
    }
    cout << (char) (ind + 'a');
    --v[ind];
    l = ind;
  }
  cout << "\n";
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 2ms 1736 KiB
2 Elfogadva 0/0 2ms 1776 KiB
3 Elfogadva 3/3 1ms 1840 KiB
4 Elfogadva 3/3 1ms 1848 KiB
5 Elfogadva 3/3 1ms 1848 KiB
6 Elfogadva 3/3 1ms 1852 KiB
7 Elfogadva 3/3 2ms 1908 KiB
8 Elfogadva 3/3 16ms 2636 KiB
9 Elfogadva 3/3 7ms 2952 KiB
10 Elfogadva 3/3 6ms 3020 KiB
11 Elfogadva 3/3 1ms 2480 KiB
12 Elfogadva 3/3 1ms 2480 KiB
13 Elfogadva 3/3 1ms 2488 KiB
14 Elfogadva 3/3 1ms 2492 KiB
15 Elfogadva 3/3 17ms 3360 KiB
16 Elfogadva 3/3 21ms 3444 KiB
17 Elfogadva 3/3 18ms 3620 KiB
18 Elfogadva 3/3 17ms 3816 KiB
19 Elfogadva 3/3 21ms 4036 KiB
20 Elfogadva 3/3 18ms 4340 KiB
21 Elfogadva 3/3 19ms 4532 KiB
22 Elfogadva 6/6 18ms 4728 KiB
23 Elfogadva 6/6 18ms 4924 KiB
24 Elfogadva 6/6 17ms 5000 KiB