73962024-01-08 13:46:16CWMKártyajátékcpp17Wrong answer 14/3087ms7464 KiB
#include <iostream>
#include <vector>
#include <set>
#include <queue>
#include <algorithm>

using namespace std;
#define ll long long
int main()
{
    ll i1;
    int n;
    cin >> i1 >> n;
    vector<ll> ord(n);
    ll max = -1;
    vector<ll> maxVec;
    int res = 0;
    for (size_t i = 0; i < n; i++)
    {
        ll a;
        cin >> a;
        ord[i] = a;
        if (a > max) {
            maxVec.push_back(a);
            max = a;
            if (i == n - 1) res--;
        }
    }
    if (maxVec.size() == 1) {
        if (n == 1) cout << 0;
        else cout << 1;
        return 0;
    }
    sort(ord.begin(), ord.end());
    if (res != -1) {
        if (ord[ord.size() - 2] == maxVec[maxVec.size() - 2]) res--;
    }
    if (maxVec[0] != ord[0]) res++;
    int insVec = 1;
    for (size_t i = 0; i < ord.size(); i++)
    {
        if (ord[i] == maxVec[insVec]) {
            if (i != insVec) {
                if (i == ord.size() - 1) {
                    res++;
                    break;
                }
                if (ord[i + 1] != maxVec[insVec + 1]) {
                    res++;
                }
            }
            insVec++;
        }
    }
    if (res == -1) res = 0;
    cout << res;
}
SubtaskSumTestVerdictTimeMemory
base14/30
1Accepted0/03ms1684 KiB
2Accepted0/086ms4648 KiB
3Accepted1/13ms2128 KiB
4Wrong answer0/13ms2344 KiB
5Wrong answer0/13ms2576 KiB
6Accepted2/23ms2768 KiB
7Wrong answer0/23ms2936 KiB
8Accepted2/23ms2944 KiB
9Accepted1/132ms4264 KiB
10Accepted2/246ms5812 KiB
11Wrong answer0/346ms5944 KiB
12Wrong answer0/346ms6188 KiB
13Accepted1/185ms5308 KiB
14Accepted2/286ms5920 KiB
15Wrong answer0/385ms7464 KiB
16Wrong answer0/387ms6524 KiB
17Accepted3/386ms6784 KiB