| Task: | Key cutting | 
| Sender: | ¯\_(._.)_/¯ | 
| Submission time: | 2024-11-16 12:21:52 +0200 | 
| Language: | C++ (C++17) | 
| Status: | READY | 
| Result: | WRONG ANSWER | 
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details | 
| #2 | WRONG ANSWER | 0.00 s | details | 
| #3 | ACCEPTED | 0.00 s | details | 
| #4 | WRONG ANSWER | 0.00 s | details | 
| #5 | WRONG ANSWER | 0.00 s | details | 
| #6 | WRONG ANSWER | 0.00 s | details | 
| #7 | WRONG ANSWER | 0.00 s | details | 
| #8 | ACCEPTED | 0.00 s | details | 
| #9 | WRONG ANSWER | 0.02 s | details | 
| #10 | WRONG ANSWER | 0.02 s | details | 
| #11 | WRONG ANSWER | 0.02 s | details | 
| #12 | WRONG ANSWER | 0.02 s | details | 
| #13 | WRONG ANSWER | 0.02 s | details | 
| #14 | WRONG ANSWER | 0.02 s | details | 
Code
#include <bits/stdc++.h>
#include <iostream>
#define int long long
using namespace std;
void solve()
{
    int n;
    cin >> n;
    vector<int> s;
    s.reserve(n);
    int cuts = 0;
    for (int i = 0; i < n; i++)
    {
        int a;
        cin >> a;
        while (!s.empty() && a < s.back())
        {
            s.pop_back();
        }
        if (s.empty())
        {
            s.push_back(a);
            cuts++;
            continue;
        }
        if (s.back() == a)
            continue;
        else
        {
            cuts++;
            s.push_back(a);
        }
    }
    cout << cuts;
}
signed main()
{
    int t = 1;
    // cin >> t;
    for (int i = 0; i < t; i++)
        solve();
}Test details
Test 1
Verdict: ACCEPTED
| input | 
|---|
| 3 1 2 1 | 
| correct output | 
|---|
| 2 | 
| user output | 
|---|
| 2 | 
Test 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1 0 | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 1 | 
Test 3
Verdict: ACCEPTED
| input | 
|---|
| 1 9 | 
| correct output | 
|---|
| 1 | 
| user output | 
|---|
| 1 | 
Test 4
Verdict: WRONG ANSWER
| input | 
|---|
| 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 1 | 
Test 5
Verdict: WRONG ANSWER
| input | 
|---|
| 100 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 ... | 
| correct output | 
|---|
| 25 | 
| user output | 
|---|
| 26 | 
Test 6
Verdict: WRONG ANSWER
| input | 
|---|
| 100 2 1 2 1 2 0 0 0 1 1 2 2 1 2 2 ... | 
| correct output | 
|---|
| 41 | 
| user output | 
|---|
| 42 | 
Test 7
Verdict: WRONG ANSWER
| input | 
|---|
| 100 36 5 10 37 94 59 20 31 64 2 58... | 
| correct output | 
|---|
| 99 | 
| user output | 
|---|
| 100 | 
Test 8
Verdict: ACCEPTED
| input | 
|---|
| 100 228768416 32415139 952687252 6... | 
| correct output | 
|---|
| 100 | 
| user output | 
|---|
| 100 | 
Test 9
Verdict: WRONG ANSWER
| input | 
|---|
| 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 1 | 
Test 10
Verdict: WRONG ANSWER
| input | 
|---|
| 100000 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 ... | 
| correct output | 
|---|
| 24965 | 
| user output | 
|---|
| 24966 | 
Test 11
Verdict: WRONG ANSWER
| input | 
|---|
| 100000 2 1 2 2 2 2 2 1 1 0 1 1 0 1 1 ... | 
| correct output | 
|---|
| 38968 | 
| user output | 
|---|
| 38969 | 
Test 12
Verdict: WRONG ANSWER
| input | 
|---|
| 100000 4 4 5 4 4 5 0 2 2 1 4 4 1 0 5 ... | 
| correct output | 
|---|
| 59156 | 
| user output | 
|---|
| 59157 | 
Test 13
Verdict: WRONG ANSWER
| input | 
|---|
| 100000 18 5 6 16 8 10 1 7 4 15 5 9 19... | 
| correct output | 
|---|
| 82598 | 
| user output | 
|---|
| 82599 | 
Test 14
Verdict: WRONG ANSWER
| input | 
|---|
| 100000 33 37 37 86 42 38 18 10 77 57 ... | 
| correct output | 
|---|
| 94897 | 
| user output | 
|---|
| 94898 | 
