QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#821781 | #9061. Streets Behind | Teapot# | TL | 70ms | 3752kb | C++14 | 1.8kb | 2024-12-19 18:04:02 | 2024-12-19 18:04:09 |
Judging History
answer
/** gnu specific **/
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
/** contains everything I need in std **/
#include <bits/stdc++.h>
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(S) ((int)S.size())
#define FOR(i, st_, n) for(int i = st_; i < n; ++i)
#define RFOR(i, n, end_) for(int i = (n)-1; i >= end_; --i)
#define x first
#define y second
#define pb push_back
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<ull, ull> pull;
using namespace __gnu_pbds;
typedef tree<ll, null_type, less<>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
using namespace std;
typedef ll int_128;
#ifdef ONPC
mt19937 rnd(228);
#else
mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
#endif
int32_t main()
{
ios::sync_with_stdio(0);
cin.tie(0);
ll t;
cin >> t;
ll c = 100000;
FOR(_,0,t)
{
ll n,k,a,b;
cin >> k >> n >> a >> b;
ll res = 0;
ll cur;
if(k*(b-a) < a)
{
res = -1;
}
else {
while(n > 0)
{
cur = (k*(b-a))/a;
if(((k+cur*c)*(b-a))/a == cur)
{
if(n < cur * c)
{
c = n/cur;
}
k+= cur*c;
res+= c;
n-= cur*c;
}
if(n <= 0)
break;
//cout << k << ' ';
n -= (k*(b-a))/a;
k += (k*(b-a))/a;
res++;
}
}
cout << res << endl;
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3620kb
input:
3 9 5 5 6 2 7 1 8 3 4 1 5
output:
3 1 1
result:
ok 3 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3672kb
input:
54 1 1 1 1 1 1 1 2 1 1 1 3 1 1 2 2 1 1 2 3 1 1 3 3 1 2 1 1 1 2 1 2 1 2 1 3 1 2 2 2 1 2 2 3 1 2 3 3 1 3 1 1 1 3 1 2 1 3 1 3 1 3 2 2 1 3 2 3 1 3 3 3 2 1 1 1 2 1 1 2 2 1 1 3 2 1 2 2 2 1 2 3 2 1 3 3 2 2 1 1 2 2 1 2 2 2 1 3 2 2 2 2 2 2 2 3 2 2 3 3 2 3 1 1 2 3 1 2 2 3 1 3 2 3 2 2 2 3 2 3 2 3 3 3 3 1 1 1 3...
output:
-1 1 1 -1 -1 -1 -1 2 1 -1 -1 -1 -1 2 2 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 2 -1 -1 2 1 -1 3 -1 -1 1 1 -1 1 -1 -1 1 1 -1 2 -1 -1 1 1 -1 2 -1
result:
ok 54 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 3552kb
input:
54 10 10 10 10 10 10 10 11 10 10 10 12 10 10 11 11 10 10 11 12 10 10 12 12 10 11 10 10 10 11 10 11 10 11 10 12 10 11 11 11 10 11 11 12 10 11 12 12 10 12 10 10 10 12 10 11 10 12 10 12 10 12 11 11 10 12 11 12 10 12 12 12 11 10 10 10 11 10 10 11 11 10 10 12 11 10 11 11 11 10 11 12 11 10 12 12 11 11 10 ...
output:
-1 10 5 -1 -1 -1 -1 11 5 -1 -1 -1 -1 11 5 -1 -1 -1 -1 10 4 -1 10 -1 -1 10 5 -1 11 -1 -1 11 5 -1 12 -1 -1 9 4 -1 10 -1 -1 10 5 -1 11 -1 -1 10 5 -1 11 -1
result:
ok 54 lines
Test #4:
score: 0
Accepted
time: 1ms
memory: 3576kb
input:
54 4 4 4 4 4 4 4 5 4 4 4 6 4 4 5 5 4 4 5 6 4 4 6 6 4 5 4 4 4 5 4 5 4 5 4 6 4 5 5 5 4 5 5 6 4 5 6 6 4 6 4 4 4 6 4 5 4 6 4 6 4 6 5 5 4 6 5 6 4 6 6 6 5 4 4 4 5 4 4 5 5 4 4 6 5 4 5 5 5 4 5 6 5 4 6 6 5 5 4 4 5 5 4 5 5 5 4 6 5 5 5 5 5 5 5 6 5 5 6 6 5 6 4 4 5 6 4 5 5 6 4 6 5 6 5 5 5 6 5 6 5 6 6 6 6 4 4 4 6...
output:
-1 4 2 -1 -1 -1 -1 5 2 -1 -1 -1 -1 5 3 -1 -1 -1 -1 4 2 -1 4 -1 -1 4 2 -1 5 -1 -1 5 3 -1 6 -1 -1 3 2 -1 4 -1 -1 4 2 -1 5 -1 -1 4 2 -1 5 -1
result:
ok 54 lines
Test #5:
score: 0
Accepted
time: 0ms
memory: 3552kb
input:
54 7 7 7 7 7 7 7 8 7 7 7 9 7 7 8 8 7 7 8 9 7 7 9 9 7 8 7 7 7 8 7 8 7 8 7 9 7 8 8 8 7 8 8 9 7 8 9 9 7 9 7 7 7 9 7 8 7 9 7 9 7 9 8 8 7 9 8 9 7 9 9 9 8 7 7 7 8 7 7 8 8 7 7 9 8 7 8 8 8 7 8 9 8 7 9 9 8 8 7 7 8 8 7 8 8 8 7 9 8 8 8 8 8 8 8 9 8 8 9 9 8 9 7 7 8 9 7 8 8 9 7 9 8 9 8 8 8 9 8 9 8 9 9 9 9 7 7 7 9...
output:
-1 7 3 -1 -1 -1 -1 8 4 -1 -1 -1 -1 8 4 -1 -1 -1 -1 7 3 -1 7 -1 -1 7 4 -1 8 -1 -1 8 4 -1 9 -1 -1 6 3 -1 7 -1 -1 7 3 -1 8 -1 -1 7 3 -1 8 -1
result:
ok 54 lines
Test #6:
score: 0
Accepted
time: 58ms
memory: 3752kb
input:
100 87279562 988175500 990523511 990564829 87279562 988175500 990523511 990564829 87279562 988175500 990523511 990564829 87279562 988175500 990523511 990564829 87279562 988175500 990523511 990564829 87279562 988175500 990523511 990564829 87279562 988175500 990523511 990564829 87279562 988175500 9905...
output:
60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 60211 ...
result:
ok 100 lines
Test #7:
score: 0
Accepted
time: 70ms
memory: 3556kb
input:
100 87839551 946797927 997674962 997719821 84639029 937626238 967565279 967605464 88780980 927643809 977431321 977456494 87414331 969173593 998994970 999022111 86792036 944654580 998921274 998952614 83742396 964865875 998076549 998106097 84763083 979606748 990526157 990570521 82405631 918491597 9978...
output:
54855 59992 94669 91739 78901 85381 56499 61590 44734 99317 54855 59992 94669 91739 78901 85381 56499 61590 44734 99317 54855 59992 94669 91739 78901 85381 56499 61590 44734 99317 54855 59992 94669 91739 78901 85381 56499 61590 44734 99317 54855 59992 94669 91739 78901 85381 56499 61590 44734 99317 ...
result:
ok 100 lines
Test #8:
score: -100
Time Limit Exceeded
input:
100 1000000000 500000000 500000000 500000001 1000000000 333333333 333333333 333333334 1000000000 250000000 250000000 250000001 1000000000 200000000 200000000 200000001 1000000000 166666666 166666666 166666667 1000000000 142857142 142857142 142857143 1000000000 125000000 125000000 125000001 100000000...
output:
250000000 111111111 62500000 40000000 27777778 20408164 15625000 12345679 10000000 8264463