| Task: | Moon landing |
| Sender: | aalto26dm_038 |
| Submission time: | 2026-09-21 16:47:40 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.01 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.01 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.00 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
| #16 | ACCEPTED | 0.00 s | details |
| #17 | ACCEPTED | 0.00 s | details |
| #18 | ACCEPTED | 0.00 s | details |
| #19 | ACCEPTED | 0.00 s | details |
| #20 | ACCEPTED | 0.00 s | details |
| #21 | ACCEPTED | 0.00 s | details |
| #22 | ACCEPTED | 0.00 s | details |
| #23 | ACCEPTED | 0.00 s | details |
| #24 | ACCEPTED | 0.00 s | details |
| #25 | ACCEPTED | 0.00 s | details |
| #26 | ACCEPTED | 0.00 s | details |
| #27 | ACCEPTED | 0.00 s | details |
| #28 | ACCEPTED | 0.00 s | details |
| #29 | ACCEPTED | 0.00 s | details |
| #30 | ACCEPTED | 0.00 s | details |
| #31 | ACCEPTED | 0.00 s | details |
| #32 | ACCEPTED | 0.00 s | details |
| #33 | ACCEPTED | 0.00 s | details |
| #34 | ACCEPTED | 0.00 s | details |
| #35 | ACCEPTED | 0.00 s | details |
| #36 | ACCEPTED | 0.00 s | details |
| #37 | ACCEPTED | 0.00 s | details |
| #38 | ACCEPTED | 0.00 s | details |
| #39 | ACCEPTED | 0.00 s | details |
| #40 | ACCEPTED | 0.00 s | details |
| #41 | ACCEPTED | 0.00 s | details |
| #42 | ACCEPTED | 0.00 s | details |
| #43 | ACCEPTED | 0.00 s | details |
| #44 | ACCEPTED | 0.00 s | details |
| #45 | ACCEPTED | 0.00 s | details |
| #46 | ACCEPTED | 0.00 s | details |
| #47 | ACCEPTED | 0.00 s | details |
| #48 | ACCEPTED | 0.00 s | details |
| #49 | ACCEPTED | 0.00 s | details |
| #50 | ACCEPTED | 0.00 s | details |
| #51 | ACCEPTED | 0.00 s | details |
| #52 | ACCEPTED | 0.00 s | details |
| #53 | ACCEPTED | 0.01 s | details |
| #54 | ACCEPTED | 0.01 s | details |
| #55 | ACCEPTED | 0.01 s | details |
| #56 | ACCEPTED | 0.02 s | details |
| #57 | ACCEPTED | 0.02 s | details |
| #58 | ACCEPTED | 0.02 s | details |
| #59 | ACCEPTED | 0.02 s | details |
| #60 | ACCEPTED | 0.02 s | details |
| #61 | ACCEPTED | 0.02 s | details |
| #62 | ACCEPTED | 0.02 s | details |
| #63 | ACCEPTED | 0.02 s | details |
| #64 | ACCEPTED | 0.01 s | details |
Code
#include<bits/stdc++.h>
//#include<unordered_set>
#pragma GCC optimize("Ofast")
using namespace std;
#define int long long
#define die(x) return cout << x << endl, 0
#define FI first
#define SE second
#define all(o) o.begin(), o.end()
#define endl '\n'
#define IOS ios::sync_with_stdio(0), cin.tie(0)
#define FILE freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout)
#define SZ(x) ((int)(x).size())
#define PB push_back
#define PF push_front
#define POB pop_back
#define POF pop_front
#define MP make_pair
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef map<int,int> mpi;
typedef set<int> sti;
typedef vector<pii> vii;
typedef map<pii,int> mpii;
typedef set<pii> stii;
typedef long double ld;
typedef long long ll;
int gcd(int x,int y){ return (!y ? x : gcd(y, x%y)); }
int power(int x, int y) { return (!y ? 1 : power(x, y / 2) * power(x, y / 2) * (y % 2 ? x : 1)); }
int to_int(string sconvert){stringstream geek(sconvert);int xconvert = 0; geek >> xconvert; return xconvert;}
int fastMax(int x, int y) { return (((y-x)>>(32-1))&(x^y))^y; }
int fastMin(int x, int y) { return (((y-x)>>(32-1))&(x^y))^x; }
const int MAXN=2e5+30,MAX_LOG=30,MOD=1e9+7,INF=1e9;
const double PI = acos(-1);
int mod(int x) { return (x % MOD + MOD) % MOD; }
int n, q;
// int s[MAXN*4+1],lazy[4*MAXN+1],rq[MAXN*4+1];
// int a[MAXN],ans[MAXN];
// void build(int id=1,int l=0,int r=n){
// if(r-l<2){
// s[id]=a[l];
// rq[id]=a[l];
// return;
// }
// int mid=(l+r)/2;
// build(id*2,l,mid);build(id*2+1,mid,r);
// s[id]=s[id*2]+s[id*2+1];
// rq[id]=min(rq[id*2],rq[id*2+1]);
// }
// void upd(int id,int l,int r,int x){
// lazy[id]+=x;
// rq[id]+=x;
// s[id]+=(r-l)*x;
// }
// void shift(int id,int l,int r){
// int mid=(l+r)/2;
// upd(id*2,l,mid,lazy[id]);
// upd(id*2+1,mid,r,lazy[id]);
// lazy[id]=0;
// }
// void add(int x,int y,int v,int id=1,int l=0,int r=n){
// if(x>=r || l>=y)return;
// if(x<=l && r<=y){
// upd(id,l,r,v);
// return;
// }
// shift(id,l,r);
// int mid=(l+r)/2;
// add(x,y,v,id*2,l,mid);
// add(x,y,v,id*2+1,mid,r);
// s[id]=s[id*2]+s[id*2+1];
// rq[id]=min(rq[id*2],rq[id*2+1]);
// }
// int sum(int x,int y,int id=1,int l=0,int r=n){
// if(x>=r || l>=y)return 0;
// if(x<=l && r<=y)return s[id];
// shift(id,l,r);
// int mid=(l+r)/2;
// return sum(x,y,id*2,l,mid)+sum(x,y,id*2+1,mid,r);
// }
// int rmq(int x,int y,int id=1,int l=0,int r=n){
// if(x>=r || l>=y)return INF*INF;
// if(x<=l && r<=y)return rq[id];
// shift(id,l,r);
// int mid=(l+r)/2;
// return min(rmq(x,y,id*2,l,mid),rmq(x,y,id*2+1,mid,r));
// }
int a[MAXN];
deque<int> mins, maxs;
int MAIN(){
cin>>n>>q;
for (int i = 0; i < n; i++){
cin>>a[i];
}
int l = 0;
int best_p = 1;
int best_l = 0;
for (int r = 0; r < n; r++){
while (!mins.empty() && a[mins.back()] >= a[r]) mins.pop_back();
while (!maxs.empty() && a[maxs.back()] <= a[r]) maxs.pop_back();
mins.push_back(r);
maxs.push_back(r);
while (a[maxs.front()] - a[mins.front()] > q){
if (mins.front() == l)
mins.pop_front();
if (maxs.front() == l)
maxs.pop_front();
l++;
}
int cur_l = r - l + 1;
if (cur_l > best_l){
best_l = cur_l;
best_p = l + 1;
}
}
cout<<best_p<<' '<<best_l<<endl;
return 0;
}
int32_t main(){
IOS;
int t=1;
//cin>>t;
while(t--)MAIN();
return 0;
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 1 1 6 |
| correct output |
|---|
| 1 1 |
| user output |
|---|
| 1 1 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 10 0 2 |
| correct output |
|---|
| 1 2 |
| user output |
|---|
| 1 2 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 2 4 7 7 |
| correct output |
|---|
| 1 2 |
| user output |
|---|
| 1 2 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 3 8 5 10 5 |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| 1 3 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 3 10 3 6 7 |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| 1 3 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 3 0 6 9 5 |
| correct output |
|---|
| 1 1 |
| user output |
|---|
| 1 1 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 4 3 8 5 1 10 |
| correct output |
|---|
| 1 2 |
| user output |
|---|
| 1 2 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 4 9 6 3 8 7 |
| correct output |
|---|
| 1 4 |
| user output |
|---|
| 1 4 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 4 10 1 9 6 8 |
| correct output |
|---|
| 1 4 |
| user output |
|---|
| 1 4 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 5 6 6 7 9 6 9 |
| correct output |
|---|
| 1 5 |
| user output |
|---|
| 1 5 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 5 4 10 7 10 0 1 |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| 1 3 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 5 4 2 0 10 6 10 |
| correct output |
|---|
| 3 3 |
| user output |
|---|
| 3 3 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 5 6 0 7 9 3 1 |
| correct output |
|---|
| 2 3 |
| user output |
|---|
| 2 3 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 5 10 9 6 1 10 9 |
| correct output |
|---|
| 1 5 |
| user output |
|---|
| 1 5 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 5 2 0 9 9 2 4 |
| correct output |
|---|
| 2 2 |
| user output |
|---|
| 2 2 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 5 9 10 3 2 9 0 |
| correct output |
|---|
| 1 4 |
| user output |
|---|
| 1 4 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 5 0 2 8 3 4 10 |
| correct output |
|---|
| 1 1 |
| user output |
|---|
| 1 1 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 5 9 0 10 2 9 4 |
| correct output |
|---|
| 2 4 |
| user output |
|---|
| 2 4 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 5 0 4 5 5 5 0 |
| correct output |
|---|
| 2 3 |
| user output |
|---|
| 2 3 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 10 6 6 7 9 6 9 5 9 4 6 7 |
| correct output |
|---|
| 1 10 |
| user output |
|---|
| 1 10 |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 10 4 10 7 10 0 1 3 10 1 2 1 |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| 1 3 |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 10 4 2 0 10 6 10 4 5 4 3 3 |
| correct output |
|---|
| 6 5 |
| user output |
|---|
| 6 5 |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 10 6 0 7 9 3 1 5 6 9 4 9 |
| correct output |
|---|
| 6 5 |
| user output |
|---|
| 6 5 |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 10 10 9 6 1 10 9 7 6 7 6 2 |
| correct output |
|---|
| 1 10 |
| user output |
|---|
| 1 10 |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 10 2 0 9 9 2 4 10 10 5 0 6 |
| correct output |
|---|
| 2 2 |
| user output |
|---|
| 2 2 |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 10 9 10 3 2 9 0 0 4 1 10 6 |
| correct output |
|---|
| 2 7 |
| user output |
|---|
| 2 7 |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 10 0 2 8 3 4 10 7 5 10 3 5 |
| correct output |
|---|
| 1 1 |
| user output |
|---|
| 1 1 |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 10 9 0 10 2 9 4 5 8 2 4 0 |
| correct output |
|---|
| 2 8 |
| user output |
|---|
| 2 8 |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 10 0 4 5 5 5 0 1 3 1 0 2 |
| correct output |
|---|
| 2 3 |
| user output |
|---|
| 2 3 |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 100 589284011 636562059 767928733 906523440 ... |
| correct output |
|---|
| 1 12 |
| user output |
|---|
| 1 12 |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 100 447773961 773442531 122815 137572578 324... |
| correct output |
|---|
| 2 10 |
| user output |
|---|
| 2 10 |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 100 468145962 198730371 27838075 590195589 4... |
| correct output |
|---|
| 60 11 |
| user output |
|---|
| 60 11 |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 100 591414746 75940262 760367934 901888416 3... |
| correct output |
|---|
| 34 14 |
| user output |
|---|
| 34 14 |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 100 967034923 587586157 185430193 918715994 ... |
| correct output |
|---|
| 37 64 |
| user output |
|---|
| 37 64 |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 100 238363352 59249203 934941691 892631471 2... |
| correct output |
|---|
| 34 5 |
| user output |
|---|
| 34 5 |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 100 958701282 356460600 224848373 881788058 ... |
| correct output |
|---|
| 1 100 |
| user output |
|---|
| 1 100 |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 100 81935403 244103473 837431430 342493821 ... |
| correct output |
|---|
| 21 3 |
| user output |
|---|
| 21 3 |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 100 937837680 11934037 257096282 933290529 4... |
| correct output |
|---|
| 29 54 |
| user output |
|---|
| 29 54 |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 100 11139167 391337047 538883743 535937149 ... |
| correct output |
|---|
| 2 3 |
| user output |
|---|
| 2 3 |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 200 589284011 636562059 767928733 906523440 ... |
| correct output |
|---|
| 99 15 |
| user output |
|---|
| 99 15 |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 200 447773961 773442531 122815 137572578 324... |
| correct output |
|---|
| 2 10 |
| user output |
|---|
| 2 10 |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 200 468145962 198730371 27838075 590195589 4... |
| correct output |
|---|
| 60 11 |
| user output |
|---|
| 60 11 |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 200 591414746 75940262 760367934 901888416 3... |
| correct output |
|---|
| 104 24 |
| user output |
|---|
| 104 24 |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 200 967034923 587586157 185430193 918715994 ... |
| correct output |
|---|
| 37 111 |
| user output |
|---|
| 37 111 |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 200 238363352 59249203 934941691 892631471 2... |
| correct output |
|---|
| 34 5 |
| user output |
|---|
| 34 5 |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 200 958701282 356460600 224848373 881788058 ... |
| correct output |
|---|
| 1 138 |
| user output |
|---|
| 1 138 |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 200 81935403 244103473 837431430 342493821 ... |
| correct output |
|---|
| 21 3 |
| user output |
|---|
| 21 3 |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 200 937837680 11934037 257096282 933290529 4... |
| correct output |
|---|
| 84 66 |
| user output |
|---|
| 84 66 |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 200 11139167 391337047 538883743 535937149 ... |
| correct output |
|---|
| 2 3 |
| user output |
|---|
| 2 3 |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 1000 589284011 636562059 767928733 906523440 ... |
| correct output |
|---|
| 99 15 |
| user output |
|---|
| 99 15 |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 1000 447773961 773442531 122815 137572578 324... |
| correct output |
|---|
| 2 10 |
| user output |
|---|
| 2 10 |
Test 52
Verdict: ACCEPTED
| input |
|---|
| 1000 468145962 198730371 27838075 590195589 4... |
| correct output |
|---|
| 60 11 |
| user output |
|---|
| 60 11 |
Test 53
Verdict: ACCEPTED
| input |
|---|
| 10000 591414746 75940262 760367934 901888416 3... |
| correct output |
|---|
| 104 24 |
| user output |
|---|
| 104 24 |
Test 54
Verdict: ACCEPTED
| input |
|---|
| 10000 967034923 587586157 185430193 918715994 ... |
| correct output |
|---|
| 3660 279 |
| user output |
|---|
| 3660 279 |
Test 55
Verdict: ACCEPTED
| input |
|---|
| 10000 238363352 59249203 934941691 892631471 2... |
| correct output |
|---|
| 325 9 |
| user output |
|---|
| 325 9 |
Test 56
Verdict: ACCEPTED
| input |
|---|
| 100000 958701282 356460600 224848373 881788058 ... |
| correct output |
|---|
| 66493 302 |
| user output |
|---|
| 66493 302 |
Test 57
Verdict: ACCEPTED
| input |
|---|
| 100000 81935403 244103473 837431430 342493821 ... |
| correct output |
|---|
| 28066 7 |
| user output |
|---|
| 28066 7 |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 100000 937837680 11934037 257096282 933290529 4... |
| correct output |
|---|
| 91851 177 |
| user output |
|---|
| 91851 177 |
Test 59
Verdict: ACCEPTED
| input |
|---|
| 100000 11139167 391337047 538883743 535937149 ... |
| correct output |
|---|
| 84138 4 |
| user output |
|---|
| 84138 4 |
Test 60
Verdict: ACCEPTED
| input |
|---|
| 100000 239756970 350744379 561742366 59793553 5... |
| correct output |
|---|
| 94284 12 |
| user output |
|---|
| 94284 12 |
Test 61
Verdict: ACCEPTED
| input |
|---|
| 100000 316394139 195182396 569713187 906489185 ... |
| correct output |
|---|
| 12844 13 |
| user output |
|---|
| 12844 13 |
Test 62
Verdict: ACCEPTED
| input |
|---|
| 100000 698334026 81615940 542726430 464528081 9... |
| correct output |
|---|
| 28811 40 |
| user output |
|---|
| 28811 40 |
Test 63
Verdict: ACCEPTED
| input |
|---|
| 100000 104725911 462211739 817385661 443179352 ... |
| correct output |
|---|
| 46788 9 |
| user output |
|---|
| 46788 9 |
Test 64
Verdict: ACCEPTED
| input |
|---|
| 100000 20 13 15 11 10 13 16 17 18 15 18 ... |
| correct output |
|---|
| 1 100000 |
| user output |
|---|
| 1 100000 |
