Submission details
Task:Lista
Sender:jlaire
Submission time:2025-11-07 18:05:33 +0200
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails

Code

#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
using namespace std;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n,m; cin>>n>>m;
    map<int,int> M;
    for (int i=0; i<m; i++) {
        int x; cin>>x;
        M[x]++;
    }
    vector<int> V(n);
    for (int i=0; i<n; i++) V[i]=i+1;
    sort(V.begin(), V.end(), [&](int x, int y) {
        return M[x] > M[y];
    });
    long long cost=0;
    for (int i=0; i<n; i++) {
        cost += (i+1) * M[V[i]];
    }
    cout << cost << '\n';
    for (int i=0; i<n; i++) {
        cout << V[i] << "\n "[i+1<n];
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
1 1
1

correct output
1

user output
1
1

Test 2

Verdict: ACCEPTED

input
100 1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1000
1 100 99 98 97 96 95 94 93 92 ...

user output
1000
1 75 76 74 73 72 71 70 69 68 6...

Test 3

Verdict: ACCEPTED

input
100 1000
1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 ...

correct output
1488
1 2 100 99 98 97 96 95 94 93 9...

user output
1488
1 2 75 52 74 73 72 71 70 69 68...

Test 4

Verdict: ACCEPTED

input
100 1000
7 8 2 4 8 3 3 10 9 7 7 6 8 7 2...

correct output
5109
3 8 7 5 1 6 2 4 9 10 100 99 98...

user output
5109
3 8 7 5 1 6 2 4 9 10 67 77 68 ...

Test 5

Verdict: ACCEPTED

input
100 1000
23 85 3 99 63 79 38 37 67 28 7...

correct output
41714
57 38 63 62 93 85 95 81 79 61 ...

user output
41714
38 57 63 62 93 85 25 26 50 20 ...