1832C - Contrast Value - CodeForces Solution


greedy math

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int tt, tc;

void solve() {
    int n;
    cin >> n;
    vector<ll> a(n);
    for (auto& u : a) cin >> u;

    
    a.erase(unique(a.begin(), a.end()), a.end());
    n = a.size();
    if (n == 1) return void(cout << 1 << "\n");

    vector<ll> diff(n - 1);
    for (int i = 0; i < n - 1; i++) diff[i] = (a[i] > a[i + 1]);

    diff.erase(unique(diff.begin(), diff.end()), diff.end());
    cout << 1 + (int)diff.size() << "\n";
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    tt = 1, tc = 1; cin >> tt;
    while (tt--) solve(), tc++;
}


Comments

Submit
0 Comments
More Questions

225A - Dice Tower
1660D - Maximum Product Strikes Back
1513A - Array and Peaks
1251B - Binary Palindromes
768B - Code For 1
363B - Fence
991B - Getting an A
246A - Buggy Sorting
884A - Book Reading
1180A - Alex and a Rhombus
445A - DZY Loves Chessboard
1372A - Omkar and Completion
159D - Palindrome pairs
981B - Businessmen Problems
1668A - Direction Change
1667B - Optimal Partition
1668B - Social Distance
88B - Keyboard
580B - Kefa and Company
960A - Check the string
1220A - Cards
897A - Scarborough Fair
1433B - Yet Another Bookshelf
1283B - Candies Division
1451B - Non-Substring Subsequence
1408B - Arrays Sum
1430A - Number of Apartments
1475A - Odd Divisor
1454B - Unique Bid Auction
978C - Letters