QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#772874#7111. Press the ButtonMiguel03121WA 0ms3648kbC++171.5kb2024-11-22 22:32:162024-11-22 22:32:16

Judging History

你现在查看的是最新测评结果

  • [2024-11-22 22:32:16]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3648kb
  • [2024-11-22 22:32:16]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

#define F(i, a, b) for (int i = a; i < b; i++)
#define ALL(x) x.begin(), x.end()
#define IOS ios_base::sync_with_stdio(0)

typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef long long ll;

int main() {
  IOS;
  cin.tie(0), cout.tie(0);

  int T;
  cin >> T;
  ll a, b, c, d, v, t;
  while (T--) {
    cin >> a >> b >> c >> d >> v >> t;
    vector<ll> v1, v2;
    v1.push_back(0);
    ll cur = a % c;
    while (cur != 0) {
      v1.push_back(min(cur, a));
      cur = (cur + a) % c;
    }
    v2.push_back(0);
    cur = c % a;
    while (cur != 0) {
      v2.push_back(min(cur, c));
      cur = (cur + c) % a;
    }

    int cnt1 = 0, cnt2 = 0;
    for (auto x : v1) {
      if (x > v)
        cnt1++;
    }
    for (auto x : v2) {
      if (x > v)
        cnt2++;
    }
    int m1 = v1.size(), m2 = v2.size();
    ll delta = 0;
    delta += t / (m1 * a) * cnt1;
    if (min((m1 * a - v1[m1 - 1]) % c, a) > v ||
        min((m2 * c - v2[m2 - 1]) % a, c) > v) {
      delta += t / (m1 * a);
    }
    delta += t / (m2 * c) * cnt2;
    int r = (t % (m1 * a)) / a + 1;
    F(i, 0, r) {
      if (v1[i] > v)
        delta++;
    }
    r = (t % (m2 * c)) / c + 1;
    F(i, 0, r) {
      if (v2[i] > v)
        delta++;
    }

    // t = 0
    delta++;

    cout << (t / a + 1) * b + (t / c + 1) * d - delta << '\n';
  }
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3488kb

input:

2
8 2 5 1 2 18
10 2 5 1 2 10

output:

6
4

result:

ok 2 number(s): "6 4"

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3648kb

input:

1000
8 6 2 6 3 17
1 6 1 1 1 30
5 4 8 8 1 31
7 6 10 3 6 12
9 1 4 4 3 38
3 3 5 8 1 8
9 1 5 2 3 18
6 10 10 8 2 40
9 6 9 10 3 9
2 5 1 10 10 39
7 7 1 2 4 19
8 10 8 6 7 36
2 9 1 1 7 17
1 2 3 5 6 14
8 8 8 7 1 46
6 9 3 9 4 6
10 8 1 7 10 18
7 1 7 10 3 50
1 10 2 1 5 1
5 8 4 9 7 44
9 2 5 4 7 42
9 1 2 1 1 20
5 ...

output:

71
216
52
16
38
22
7
102
31
499
60
79
98
54
89
44
148
87
20
179
45
4
463
139
56
32
45
127
204
121
42
69
38
98
63
121
25
142
17
75
24
175
114
40
32
11
29
85
35
7
66
49
492
49
49
14
17
53
431
161
94
27
21
135
71
92
33
290
57
300
18
89
155
55
10
219
203
390
28
50
67
213
27
20
27
19
128
101
118
62
46
15...

result:

wrong answer 9th numbers differ - expected: '30', found: '31'