QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#429868 | #8777. Passport Stamps | skittles1412# | AC ✓ | 7ms | 4664kb | C++17 | 6.6kb | 2024-06-02 23:47:14 | 2024-06-02 23:47:14 |
Judging History
answer
// cf bits/extc++.h nonsense
#ifdef ONLINE_JUDGE
#define _EXT_CODECVT_SPECIALIZATIONS_H 1
#define _EXT_ENC_FILEBUF_H 1
#endif
#line 1 "j.cpp"
// 69683a8183e36171b0123a3fbef815656276c8d9
#include "bits/extc++.h"
#line 1 "/home/skittles1412/workspace/cp/library/template.hpp"
#line 5 "/home/skittles1412/workspace/cp/library/template.hpp"
using namespace std;
template <typename T, typename... U>
void dbgh(const T& t, const U&... u) {
cerr << t;
((cerr << " | " << u), ...);
cerr << endl;
}
#ifdef DEBUG
#define dbg(...) \
cerr << "L" << __LINE__ << " [" << #__VA_ARGS__ << "]" \
<< ": "; \
dbgh(__VA_ARGS__)
#else
#define cerr \
if (false) \
cerr
#define dbg(...)
#endif
using u32 = uint32_t;
using u64 = uint64_t;
using ld = long double;
#define endl "\n"
#define long int64_t
#define sz(x) int(std::size(x))
#line 1 "/home/skittles1412/workspace/cp/library/utils.hpp"
#line 5 "/home/skittles1412/workspace/cp/library/utils.hpp"
template <typename T>
ostream& operator<<(ostream& out, const vector<T>& arr) {
out << "[";
for (int i = 0; i < sz(arr); i++) {
if (i) {
out << ", ";
}
out << arr[i];
}
return out << "]";
}
template <typename T, size_t N>
ostream& operator<<(ostream& out, const array<T, N>& arr) {
out << "[";
for (size_t i = 0; i < N; i++) {
if (i) {
out << ", ";
}
out << arr[i];
}
return out << "]";
}
template <typename A, typename B>
ostream& operator<<(ostream& out, const pair<A, B>& p) {
return out << "(" << p.first << ", " << p.second << ")";
}
/**
* Computes the first x in [l, r) such that cb(x) is true.
*
* If no x in that range is true, returns r
*/
template <typename T, typename Cb>
T first_true(T l, T r, const Cb& cb) {
while (l < r) {
T mid = (l + r) / 2;
if (cb(mid)) {
r = mid;
} else {
l = mid + 1;
}
}
return l;
}
/**
* Computes the last x in (l, r] such that cb(x) is true.
*
* If no x in that range is true, returns l
*/
template <typename T, typename Cb>
T last_true(T l, T r, const Cb& cb) {
while (l < r) {
T mid = (l + r + 1) / 2;
if (cb(mid)) {
l = mid;
} else {
r = mid - 1;
}
}
return l;
}
template <typename T>
T reversed(T arr) {
reverse(begin(arr), end(arr));
return arr;
}
template <typename T>
bool is_palin(const T& arr) {
return arr == reversed(arr);
}
template <typename T>
T sorted(T arr) {
sort(begin(arr), end(arr));
return arr;
}
template <typename T>
T negated(T arr) {
for (auto& a : arr) {
a = -a;
}
return arr;
}
template <typename T, bool STRICT>
vector<int> comp_prev_helper(const vector<T>& arr) {
int n = sz(arr);
vector<int> ans(n);
vector<pair<int, int>> st;
for (int i = 0; i < n; i++) {
auto cmp = [&]() -> bool {
if constexpr (STRICT) {
return st.back().first <= arr[i];
} else {
return st.back().first < arr[i];
}
};
while (sz(st) && cmp()) {
st.pop_back();
}
if (sz(st)) {
ans[i] = st.back().second;
} else {
ans[i] = -1;
}
st.emplace_back(arr[i], i);
}
return ans;
}
/**
* Computes ans[i], the closest index j to the left of i where arr[j] > arr[i]
*
* ans[i] = -1 if no such j exists
*/
template <typename T>
vector<int> comp_prev_gt(const vector<T>& arr) {
return comp_prev_helper<T, true>(arr);
}
/**
* Computes ans[i], the closest index j to the left of i where arr[j] >= arr[i]
*
* ans[i] = -1 if no such j exists
*/
template <typename T>
vector<int> comp_prev_ge(const vector<T>& arr) {
return comp_prev_helper<T, false>(arr);
}
/**
* reverses an array of indices
*
* specifically, it reverses the array and computes arr[i] = n - 1 - arr[i]
*/
vector<int> reverse_indices(vector<int> arr) {
int n = sz(arr);
reverse(begin(arr), end(arr));
for (auto& a : arr) {
a = n - 1 - a;
}
return arr;
}
/**
* Computes ans[i], the closest index j to the right of i where arr[j] > arr[i]
*
* ans[i] = n if no such j exists
*/
template <typename T>
vector<int> comp_next_gt(vector<T> arr) {
reverse(begin(arr), end(arr));
return reverse_indices(comp_prev_gt(arr));
}
/**
* Computes ans[i], the closest index j to the right of i where arr[j] >= arr[i]
*
* ans[i] = n if no such j exists
*/
template <typename T>
vector<int> comp_next_ge(vector<T> arr) {
reverse(begin(arr), end(arr));
return reverse_indices(comp_prev_ge(arr));
}
template <typename Cb>
struct CmpByKey {
Cb cb;
explicit CmpByKey(const Cb& cb) : cb(cb) {}
template <typename T>
bool operator()(const T& a, const T& b) const {
return cb(a) < cb(b);
}
};
/**
* outputs will be in the range [0, m), returns m
*/
int coord_comp(const vector<int*>& arr) {
vector<int> vals;
for (auto& a : arr) {
vals.push_back(*a);
}
sort(begin(vals), end(vals));
vals.erase(unique(begin(vals), end(vals)), end(vals));
for (auto& a : arr) {
*a = int(lower_bound(begin(vals), end(vals), *a) - begin(vals));
}
return sz(vals);
}
/**
* outputs will be in the range [0, m), returns {m, result}
*/
template <typename T>
pair<int, vector<int>> coord_comp(const vector<T>& arr) {
vector<T> vals = arr;
sort(begin(vals), end(vals));
vals.erase(unique(begin(vals), end(vals)), end(vals));
vector<int> ans;
for (auto& a : arr) {
ans.push_back(
int(lower_bound(begin(vals), end(vals), a) - begin(vals)));
}
return {sz(vals), ans};
}
template <typename T>
bool on(T mask, int bit) {
return (mask >> bit) & 1;
}
#line 5 "j.cpp"
using i128 = __int128_t;
void solve() {
int n;
long m;
cin >> n >> m;
long arr[n];
for (auto& a : arr) {
cin >> a;
}
long psum = 0;
for (int i = 0; i < n; i++) {
if (i128(i + 1) * (arr[i] - 1) + psum + 1 > m) {
cout << i << endl;
return;
}
psum += arr[i];
}
cout << n << endl;
}
int main() {
cin.tie(nullptr);
cin.exceptions(ios::failbit);
ios_base::sync_with_stdio(false);
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3568kb
input:
5 15 1 2 3 4 5
output:
3
result:
ok single line: '3'
Test #2:
score: 0
Accepted
time: 4ms
memory: 4660kb
input:
100000 559309580160692839 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
84437
result:
ok single line: '84437'
Test #3:
score: 0
Accepted
time: 4ms
memory: 4360kb
input:
100000 890934113082207108 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
53636
result:
ok single line: '53636'
Test #4:
score: 0
Accepted
time: 3ms
memory: 4460kb
input:
100000 132839930703581978 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
59360
result:
ok single line: '59360'
Test #5:
score: 0
Accepted
time: 7ms
memory: 4424kb
input:
100000 761263352659137865 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
67748
result:
ok single line: '67748'
Test #6:
score: 0
Accepted
time: 3ms
memory: 4344kb
input:
100000 654001515423941861 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
25745
result:
ok single line: '25745'
Test #7:
score: 0
Accepted
time: 0ms
memory: 4628kb
input:
100000 755568812034403272 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
40873
result:
ok single line: '40873'
Test #8:
score: 0
Accepted
time: 3ms
memory: 4416kb
input:
100000 783129347604694200 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
44527
result:
ok single line: '44527'
Test #9:
score: 0
Accepted
time: 3ms
memory: 4432kb
input:
100000 905120603799436149 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
58851
result:
ok single line: '58851'
Test #10:
score: 0
Accepted
time: 3ms
memory: 4360kb
input:
100000 240004036785370527 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
42660
result:
ok single line: '42660'
Test #11:
score: 0
Accepted
time: 0ms
memory: 4372kb
input:
100000 548919634536408821 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
30657
result:
ok single line: '30657'
Test #12:
score: 0
Accepted
time: 6ms
memory: 4664kb
input:
100000 75636237219086009 1 37818118609543001 12606039536514334 6303019768257167 3781811860954300 2521207907302866 1800862790930619 1350647093197964 1050503294709528 840402635767622 687602156537145 573001797114288 484847674481320 415583720983989 360172558186124 315150988412858 278074401540757 2471772...
output:
100000
result:
ok single line: '100000'
Test #13:
score: 0
Accepted
time: 6ms
memory: 4352kb
input:
100000 236447379349717830 1 118223689674858912 39407896558286304 19703948279143152 11822368967485891 7881579311657261 5629699508326615 4222274631244961 3283991379857192 2627193103885753 2149521630451980 1791268025376650 1515688329164858 1299161424998449 1125939901665323 985197413957157 8692918358445...
output:
100000
result:
ok single line: '100000'
Test #14:
score: 0
Accepted
time: 6ms
memory: 4372kb
input:
100000 238284828602599618 1 119142414301299807 39714138100433269 19857069050216634 11914241430129980 7942827620086654 5673448300061895 4255086225046421 3309511508369439 2647609206695551 2166225714569087 1805188095474239 1527466850016664 1309257300014283 1134689660012379 992853452510832 8760471639801...
output:
100000
result:
ok single line: '100000'
Test #15:
score: 0
Accepted
time: 6ms
memory: 4360kb
input:
100000 209481399482344513 1 104740699741172255 34913566580390751 17456783290195376 10474069974117225 6982713316078150 4987652368627250 3740739276470437 2909463881699229 2327571105359383 1904376358930404 1586980299108670 1342829483861183 1150996700452442 997530473725450 872839164509769 77015220397920...
output:
100000
result:
ok single line: '100000'
Test #16:
score: 0
Accepted
time: 3ms
memory: 4364kb
input:
100000 160284526594608875 1 80142263297304436 26714087765768145 13357043882884073 8014226329730443 5342817553153629 3816298252252592 2862223689189444 2226173980480679 1780939184384543 1457132059950989 1214276716625825 1027464914068005 880684212058290 763259650450518 667852194144203 589281347774297 5...
output:
100000
result:
ok single line: '100000'
Test #17:
score: 0
Accepted
time: 6ms
memory: 4656kb
input:
100000 852095496567419553 1 426047748283709776 142015916094569925 71007958047284962 42604774828370977 28403183218913985 20287988013509989 15215991010132492 11834659674547494 9467727739637995 7746322696067450 6455268913389542 5462150619021920 4681843387733074 4057597602701998 3550397902364248 3132704...
output:
100000
result:
ok single line: '100000'
Test #18:
score: 0
Accepted
time: 7ms
memory: 4624kb
input:
100000 787884515487196686 1 393942257743598343 131314085914532781 65657042957266390 39394225774359834 26262817182906556 18759155130647540 14069366347985655 10942840492877731 8754272394302185 7162586504429061 5968822087024217 5050541765943568 4329035799380201 3751831026129508 3282852147863319 2896634...
output:
100000
result:
ok single line: '100000'
Test #19:
score: 0
Accepted
time: 7ms
memory: 4392kb
input:
100000 705443926439369243 1 352721963219684622 117573987739894874 58786993869947437 35272196321968462 23514797547978974 16796283962842125 12597212972131593 9797832311657906 7838265849326325 6413126603994266 5344272169995221 4522076451534418 3876065529886644 3359256792568425 2939349693497372 25935438...
output:
1
result:
ok single line: '1'
Test #20:
score: 0
Accepted
time: 3ms
memory: 4628kb
input:
100000 400695253982082795 1 200347626991041398 66782542330347133 33391271165173566 20034762699104140 13356508466069426 9540363190049590 7155272392537193 5565211860862261 4452169488689809 3642684127109843 3035570105924869 2568559320397966 2201622274626828 1908072638009918 1669563558258678 14731443161...
output:
1
result:
ok single line: '1'
Test #21:
score: 0
Accepted
time: 7ms
memory: 4308kb
input:
100000 954649278647157019 1 477324639323578511 159108213107859503 79554106553929752 47732463932357851 31821642621571900 22729744729694215 17047308547270661 13259017758988292 10607214207190633 8678629805883245 7232191504902704 6119546657994596 5245325706852511 4545948945938843 3977705327696487 350973...
output:
1
result:
ok single line: '1'
Test #22:
score: 0
Accepted
time: 3ms
memory: 4416kb
input:
100000 827879037502813038 1 413939518751406518 137979839583802173 68989919791901086 41393951875140652 27595967916760434 19711405654828882 14783554241121661 11498319965316847 9198655972253478 7526173068207391 6271810890172826 5306916907069314 4548785920345126 3942281130965776 3449495989595054 3043672...
output:
214
result:
ok single line: '214'
Test #23:
score: 0
Accepted
time: 6ms
memory: 4424kb
input:
100000 547920341258674169 1 273960170629337084 91320056876445694 45660028438222847 27396017062933708 18264011375289139 13045722410920813 9784291808190610 7610004739703808 6088003791763046 4981094011442492 4150911676202077 3512309879863296 3010551325597111 2609144482184162 2283001421911142 2014413019...
output:
74
result:
ok single line: '74'
Test #24:
score: 0
Accepted
time: 7ms
memory: 4656kb
input:
100000 859719130041796908 1 429859565020898453 143286521673632818 71643260836816409 42985956502089845 28657304334726563 20469503096233259 15352127322174945 11940543472802735 9552434778242188 7815628454925426 6513023712437855 5511020064370493 4723731483746137 4093900619246652 3582163041840820 3160732...
output:
322
result:
ok single line: '322'
Test #25:
score: 0
Accepted
time: 6ms
memory: 4364kb
input:
100000 771358528927320765 1 385679264463660382 128559754821220127 64279877410610063 38567926446366038 25711950964244025 18365679260174304 13774259445130728 10713312901768344 8570650321414675 7012350262975643 5843625219146369 4944605954662312 4238233675424839 3673135852034861 3213993870530503 2835876...
output:
54
result:
ok single line: '54'
Test #26:
score: 0
Accepted
time: 6ms
memory: 4588kb
input:
100000 301578483639376708 1 150789241819688353 50263080606562784 25131540303281392 15078924181968835 10052616121312557 7180440086651826 5385330064988870 4188590050546898 3350872040437519 2741622578539788 2284685482116490 1933195407944722 1657024635381190 1436088017330365 1256577015164069 11087444251...
output:
381
result:
ok single line: '381'