QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#584847#7111. Press the ButtonfengWA 30ms3696kbC++201.0kb2024-09-23 17:03:442024-09-23 17:03:45

Judging History

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

  • [2024-09-23 17:03:45]
  • 评测
  • 测评结果:WA
  • 用时:30ms
  • 内存:3696kb
  • [2024-09-23 17:03:44]
  • 提交

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'