CSES - Datatähti 2024 qualification mirror - Results
Submission details
Task:Lumimyrsky
Sender:Militalex
Submission time:2023-10-30 18:19:35 +0200
Language:C++ (C++20)
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
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails

Compiler report

input/code.cpp: In function 'auto solve()':
input/code.cpp:45:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for (int i = 0; i < a.size()-1; i++){
      |                     ~~^~~~~~~~~~~~
input/code.cpp:50:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     for (int i = 0; i < b.size()-1; i++){
      |                     ~~^~~~~~~~~~~~
input/code.cpp: In instantiation of 'void print(auto:47, std::string, bool) [with auto:47 = int; std::string = std::__cxx11::basic_string<char>]':
input/code.cpp:64:10:   required from here
input/code.cpp:13:50: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 | #d...

Code

#include <bits/stdc++.h>

using namespace std;

// Shorter types
typedef long long ll;
typedef vector<ll> vll;
typedef pair<ll,ll> pll;
typedef vector<vll> adjList;
typedef vector<vector<pll>> adjwList;

// Macros
#define LOOP(i, start, end) for (ll i = start; i <= end; i++)
#define FE_LOOP(i, collection) LOOP(i, 0, collection.size())
#define SORT(v) sort(v.begin(), v.end())
#define REV_SORT(v) sort(v.rbegin(), v.rend())

// Variables
vll a = vll(10), b = vll(10);

void read_input(){
    for (int i = 0; i < 10; i++) cin >> a[i];
    for (int i = 0; i < 10; i++) cin >> b[i];
}

void print(auto toPrint, const string clazz, bool newLines){
    if (clazz == "vector<ll>"){
        vll toPrintVec = (vll)toPrint;

        FE_LOOP(i, toPrintVec){
            cout << toPrintVec[i] << (newLines ? "\n" : " ");
        }
        cout << (newLines ? "" : "\n");
        return;
    }
    cout << toPrint << (newLines ? "\n" : "");
}

// Libs


// Solution
auto solve(){
    ll ascent1 = 0;
    for (int i = 0; i < a.size()-1; i++){
        ll curAscent = a[i+1] - a[i];
        if (curAscent > 0) ascent1 += curAscent;
    }
    ll ascent2 = 0;
    for (int i = 0; i < b.size()-1; i++){
        ll curAscent = b[i+1] - b[i];
        if (curAscent > 0) ascent2 += curAscent;
    }

    return ascent1 < ascent2 ? 1 : 2;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    read_input();
    auto result = solve();
    print(result, "", true);

    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
0 0 1 1 1 2 2 2 1 0
0 1 2 3 2 2 3 0 1 1

correct output
1

user output
1

Test 2

Verdict: ACCEPTED

input
1 1 1 1 1 1 1 1 0 1
1 0 0 0 1 0 1 0 0 0

correct output
1

user output
1

Test 3

Verdict: ACCEPTED

input
1 2 2 2 0 0 0 2 0 0
0 1 0 1 1 2 1 2 1 2

correct output
1

user output
1

Test 4

Verdict: ACCEPTED

input
4 2 0 10 6 10 4 5 4 3
3 1 2 7 6 1 3 5 2 6

correct output
2

user output
2

Test 5

Verdict: ACCEPTED

input
6 0 7 9 3 1 5 6 9 4
9 0 1 0 2 2 0 1 4 7

correct output
2

user output
2

Test 6

Verdict: ACCEPTED

input
10 9 6 1 10 9 7 6 7 6
2 1 10 2 0 7 2 9 4 6

correct output
1

user output
1

Test 7

Verdict: ACCEPTED

input
22 5 87 83 20 36 92 98 49 9
61 40 77 35 52 49 29 100 18 81

correct output
1

user output
1

Test 8

Verdict: ACCEPTED

input
90 95 33 21 82 6 4 37 10 99
60 10 53 61 42 53 33 48 62 83

correct output
2

user output
2

Test 9

Verdict: ACCEPTED

input
7 22 78 32 44 98 73 46 98 31
54 26 50 8 7 42 27 1 50 53

correct output
2

user output
2

Test 10

Verdict: ACCEPTED

input
88 1 97 24 87 38 53 82 23 42
1 61 43 77 40 40 52 88 48 93

correct output
2

user output
2

Test 11

Verdict: ACCEPTED

input
1 36 50 50 50 0 13 31 14 1
22 88 42 13 25 13 8 39 34 49

correct output
1

user output
1