131912025-01-06 23:03:33MittomenNegáló rendezés (55 pont)cpp17Wrong answer 0/5543ms808 KiB
#include <list>
#include <iostream>
#include <vector>
#include <bitset>
#include <algorithm>

#define MOD ((long) 10e9 + 7)

using namespace std;

int main() {
    int n;
    cin >> n;

    vector<int> elements(n);

    for (int& element : elements) {
        cin >> element;
    }
    sort(elements.begin(), elements.end());

    int last = elements[0];
    int last_count = 1;

    long long substract = 0;

    for (int i = 1; i < n; i++) {
        if (elements[i] == last) last_count++;
        else if (last_count >= 2)
        {
            substract += (0b1 << (last_count)) % MOD;
            last_count = 1;
        }
        last = elements[i];
    }

    cout << ((0b1 << elements.size() - 1) - substract) % MOD;

    return 0;
}

// 1 : 1
// 1 2 : 2
// 1 2 3 : 4
// 1 2 3 4 : 8
// 1 2 3 3 4 : 16 - 4
// 1 2 3 3 3 : 8
// 1 2 2 3 3 3 : 15
// 32 - 8 - 4 = 20
SubtaskSumTestVerdictTimeMemory
base0/55
1Accepted0/01ms316 KiB
2Wrong answer0/043ms564 KiB
3Wrong answer0/21ms508 KiB
4Wrong answer0/21ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/31ms316 KiB
8Wrong answer0/21ms316 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/337ms768 KiB
11Wrong answer0/343ms564 KiB
12Wrong answer0/335ms808 KiB
13Wrong answer0/332ms808 KiB
14Wrong answer0/341ms564 KiB
15Wrong answer0/339ms564 KiB
16Wrong answer0/343ms796 KiB
17Wrong answer0/339ms748 KiB
18Wrong answer0/341ms564 KiB
19Wrong answer0/341ms564 KiB
20Wrong answer0/341ms564 KiB
21Wrong answer0/337ms564 KiB
22Wrong answer0/337ms564 KiB