CSES - Datatähti 2022 loppu - Results
Submission details
Task:Pallo
Sender:hltk
Submission time:2022-01-22 15:56:25 +0200
Language:C++17
Status:READY
Result:45
Feedback
groupverdictscore
#1ACCEPTED10
#2ACCEPTED35
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2, 3details
#2ACCEPTED0.01 s2, 3details
#30.94 s3details

Code

#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int tt;
  cin >> tt;
  while (tt--) {
    long n, m, k;
    cin >> n >> m >> k;
    if (n > m) swap(n, m);
    vector<long> v;
    long K = (m - n) / (n - 1);
    long rem = (m - n) % (n - 1);
    long x = __gcd(m - n, n - 1);
    long T = (n - 1) / x;
    long vs = K + 1 + (T - 1) + ((m - n) % (n - 1) + (m - n) * (T - 1)) / (n - 1);
    long ans = k / (vs * (n - 1)) * (vs + (T - 1));
    k %= vs * (n - 1);
    for (int t = 0; t < K + 1; ++t) {
      v.push_back(n - 1);
    }
    for (long t0 = 0; t0 < T - 1; ++t0) {
      v.push_back(rem);
      v.push_back(n - 1 - rem);
      rem += m - n;
      for (int t = 0; t < rem / (n - 1); ++t) {
        v.push_back(n - 1);
      }
      rem %= n - 1;
    }
    long s = 0;
    int it = 0;
    while (k >= v[it]) {
      s++;
      k -= v[it];
      it++;
      if (it == (int) v.size()) {
        it = 0;
      }
    }
    cout << ans + s << endl;
  }
}

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
...

Test 2

Group: 2, 3

Verdict: ACCEPTED

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

correct output
33011057055707949
148620545979722822
57541576336103529
199845910473154830
52151060432923288
...

user output
33011057055707949
148620545979722822
57541576336103529
199845910473154830
52151060432923288
...

Test 3

Group: 3

Verdict:

input
1000
816332614 86098803 33572721929...

correct output
4310587870
45982113074
1550250683
717639357
3282221941
...

user output
(empty)