QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#823332 | #9061. Streets Behind | LaVuna47 | TL | 51ms | 3704kb | C++17 | 1.9kb | 2024-12-20 21:54:56 | 2024-12-20 21:54:56 |
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;
#ifdef ONPC
mt19937 rnd(228);
#else
mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
#endif
int solve()
{
ll n,k,a,b;
if(!(cin>>n>>k>>a>>b))return 1;
if(b*n < a*(n+1))
{
cout<<"-1\n";
return 0;
}
ll y=(n*b-a*n)/a;
ll res=0;
//cout<<"y="<<y<<endl;
for(; k > 0;)
{
ll x = (a*n + y*a + a - n*b + (b*y - y*a-1)) / (b*y - y*a);
if(k-y*x < 0)
{
res += (k+y-1)/(y);
break;
}
else
{
res += x;
k -= y*x;
n += y*x;
y=max(y+1,(n*b-a*n)/a);
//cout<<"dres="<<x<<endl;
}
//cout<<"y="<<y<<endl;
}
cout<<res<<'\n';
return 0;
}
int32_t main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int TET = 1e9;
cin >> TET;
for (int i = 1; i <= TET; i++)
{
if (solve())
{
break;
}
#ifdef ONPC
cout << "__________________________" << endl;
#endif
}
#ifdef ONPC
cerr << endl << "finished in " << clock() * 1.0 / CLOCKS_PER_SEC << " sec" << endl;
#endif
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3704kb
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: 3640kb
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: 3624kb
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: 0ms
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: 51ms
memory: 3644kb
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: 44ms
memory: 3640kb
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: 0
Accepted
time: 0ms
memory: 3644kb
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 6944445 5917160 5102041 4444445 3906250 3460208 3086420 2770084 2500000 2267574 2066116 1890360 1736112 1600000 1479290 1371743 1275511 1189061 1111112 1040583 976563 918274 865052 816327 771605 730461 692521 ...
result:
ok 100 lines
Test #9:
score: -100
Time Limit Exceeded
input:
100 210439921 104840758 477034045 560474791 576623637 734211729 277967202 761499243 79444535 227451617 857575422 973619369 900413104 105285201 742065157 917522487 262210823 552004848 461401346 599095673 830210840 675602119 900533480 955055695 905324791 368383419 536634011 583047720 12365097 98944249...