QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#772860 | #7111. Press the Button | Miguel03121 | WA | 2ms | 3892kb | C++17 | 1.4kb | 2024-11-22 22:26:45 | 2024-11-22 22:26:45 |
Judging History
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], a) > v || min(m2 * c - v2[m2 - 1], 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';
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3584kb
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: 2ms
memory: 3892kb
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:
69 216 52 16 38 22 7 102 30 499 58 75 98 54 84 43 148 80 20 179 45 4 463 135 56 30 45 127 204 121 42 63 38 96 63 121 25 140 17 75 24 171 114 40 32 11 29 85 35 7 66 49 492 48 49 14 13 53 426 153 93 27 21 132 71 92 33 285 57 300 18 89 155 55 10 219 203 384 28 50 66 213 26 18 27 19 128 101 117 58 46 15...
result:
wrong answer 1st numbers differ - expected: '71', found: '69'