QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#361256#7111. Press the ButtonYeongTreeWA 1ms3760kbC++171.4kb2024-03-23 03:48:382024-03-23 03:48:39

Judging History

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

  • [2024-03-23 03:48:39]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3760kb
  • [2024-03-23 03:48:38]
  • 提交

answer

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <tuple>
#include <queue>
#include <numeric>
#include <set>
#include <map>
#include <random>
#define pii pair<int, int>
#define pll pair<long long, long long>
#define piii pair<int, pii>
#define plll pair<long long, pll>
#define tiii array<int, 3>
#define tiiii array<int, 4>
#define ff first
#define ss second
#define ee ss.ff
#define rr ss.ss
typedef long long ll;
const int INF = (int)1e9 + 7;

using namespace std;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	int T; cin >> T;
	while(T--)
	{
		int a, b, c, d; ll v, t; cin >> a >> b >> c >> d >> v >> t; ++t;
		ll l = 1ll * a * c / __gcd(a, c);
		ll ans = -1, cyc = (l / a) * b + (l / c) * d, rem = ((t % l) / a + 1) * b + ((t % l) / c + 1) * d;
		// cout << "!!" << ans << ' ' << cyc << ' ' << rem << endl;
		vector<ll> A, B;
		for(ll i = 0; i < l; i += a) A.push_back(i);
		for(ll i = 0; i < l; i += c) B.push_back(i);
		vector<ll> C(A.size() + B.size());
		merge(A.begin(), A.end(), B.begin(), B.end(), C.begin());
		for(int i = 1; i < (int)C.size(); ++i) if(C[i] - C[i - 1] > v)
		{
			--cyc;
			if(C[i] < t % l) --rem;
		}
		if(l - C.back() > v) ++ans, --cyc, --rem;
		// cout << "!!!!" << ans << ' ' << cyc << ' ' << rem << endl;
		cout << ans + (t / l) * cyc + rem << '\n';
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 1ms
memory: 3760kb

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:

77
223
60
16
38
25
7
102
30
514
62
75
108
61
84
44
155
80
31
187
45
4
472
157
63
30
45
127
209
129
47
75
38
98
74
123
25
147
17
88
24
182
117
40
32
11
39
85
35
9
66
53
509
49
56
14
18
57
439
161
101
27
27
140
71
92
43
299
57
307
18
89
162
62
10
219
207
398
28
50
67
219
26
18
27
25
128
110
118
63
46
...

result:

wrong answer 1st numbers differ - expected: '71', found: '77'