QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#361256 | #7111. Press the Button | YeongTree | WA | 1ms | 3760kb | C++17 | 1.4kb | 2024-03-23 03:48:38 | 2024-03-23 03:48:39 |
Judging History
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'