CSES - Datatähti 2022 loppu - Results
Submission details
Task:Pallo
Sender:Mahtimursu
Submission time:2022-01-22 13:19:13 +0200
Language:C++ (C++17)
Status:READY
Result:10
Feedback
groupverdictscore
#1ACCEPTED10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#2--2, 3details
#3--3details

Code

#include <bits/stdc++.h>
typedef long long ll;
#define M 1000000007
#define N (1 << 18)
using namespace std;
void test_case() {
ll n, m, k;
cin >> n >> m >> k;
pair<ll, ll> pos = {1, 1};
pair<int, int> dir = {1, 1};
ll ans = 0;
for (int t = 0; t < k;) {
//pos = {pos.first + dir.first, pos.second + dir.second};
int rightdst = m - pos.first;
int leftdst = pos.first - 1;
int updst = pos.second - 1;
int downdst = n - pos.second;
int xdst = dir.first == 1 ? rightdst : leftdst;
int ydst = dir.second == 1 ? downdst : updst;
int travel = min(xdst, ydst);
t += travel;
/*if (travel == 0) {
cout << "FAIL" << endl;
break;
}*/
if (t > k) break;
pos = {pos.first + travel * dir.first, pos.second + travel * dir.second};
bool hit = 0;
if (pos.first == m || pos.first == 1) {
hit = 1;
dir.first *= -1;
}
if (pos.second == n || pos.second == 1) {
hit = 1;
dir.second *= -1;
}
ans += hit;
}
cout << ans;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
for (int i = 0; i < t; ++i) {
test_case();
cout << "\n";
}
return 0;
}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
100
10 5 76
9 8 78
8 6 49
3 3 94
...

correct output
25
19
15
47
8
...

user output
25
19
15
47
8
...
Truncated

Test 2

Group: 2, 3

Verdict:

input
1000
7 5 99033171167123849
6 8 472883555390027162
9 10 258937093512465880
10 6 691774305483997493
...

correct output
33011057055707949
148620545979722822
57541576336103529
199845910473154830
52151060432923288
...

user output
(empty)

Test 3

Group: 3

Verdict:

input
1000
816332614 86098803 33572721929...

correct output
4310587870
45982113074
1550250683
717639357
3282221941
...

user output
(empty)