Submission

Status:

[PPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: eefirefire

Problemset: เรียงสตริง

Language: cpp

Time: 0.004 second

Submitted On: 2026-09-22 15:45:00

#include <bits/stdc++.h>
using namespace std;

bool cmp(char a, char b) {
    bool upperA = isupper(a);
    bool upperB = isupper(b);
    if (upperA != upperB) {
        return upperA > upperB;
    }
    return a < b;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    string s;
    if (cin >> s) {
        vector<char> unique_chars;
        vector<bool> seen(256, false);

        for (char c : s) {
            if (isalpha(c) && !seen[(unsigned char)c]) {
                seen[(unsigned char)c] = true;
                unique_chars.push_back(c);
            }
        }

        sort(unique_chars.begin(), unique_chars.end(), cmp);

        for (int i = 0; i < (int)unique_chars.size(); i++) {
            cout << unique_chars[i] << (i + 1 == (int)unique_chars.size() ? '\n' : ' ');
        }
    }
}