QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#584847 | #7111. Press the Button | feng | WA | 30ms | 3696kb | C++20 | 1.0kb | 2024-09-23 17:03:44 | 2024-09-23 17:03:45 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define PII pair<int,int>
using namespace std;
int a, b, c, d, v, t;
int w;
int gcd(int a, int b) {
return b ? gcd(b, a % b) : a;
}
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int get(int l, int r, bool flag) {
double timer = 0;
int cnt = 0;
if (w) timer = 100;
for (int i = l; i <= r; ++i) {
timer = max(0.0, timer - 1);
if (i % a == 0 || i % c == 0) {
if (i % a == 0) cnt += b;
if (i % c == 0) cnt += d;
if (!timer) cnt--;
timer = v + 0.5;
}
}
if (flag && timer >= 1) w = 1;
return cnt;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int T; cin >> T;
while (T--) {
cin >> a >> b >> c >> d >> v >> t;
w = 0;
int l = lcm(a, c);
//cout << l << endl;
if (t < l) {
cout << get(0, t, 0) << endl;
continue;
}
int x = get(0, l - 1, 1);
//cout << x << endl;
int y = get(0, t % l, 0);
cout << (x + w) * t / l + y << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3696kb
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: 30ms
memory: 3656kb
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:
75 217 52 16 39 22 7 125 30 512 76 82 104 62 94 45 211 81 20 195 45 4 464 164 62 33 45 133 223 126 42 78 38 105 90 135 28 157 17 91 24 195 122 40 32 11 29 85 35 7 68 58 493 50 49 14 18 53 432 162 101 27 21 142 72 107 40 291 57 301 18 103 173 60 10 261 204 431 28 50 81 219 35 22 27 19 165 110 135 66 ...
result:
wrong answer 1st numbers differ - expected: '71', found: '75'