#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define fo(i,n) for(int i=0;i<n;i++)
#define vi vector<int>
#define vll vector<ll>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define vpii vector<pii>
#define vpll vector<pll>
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,k; cin>>n>>k;
ll x[n];
for(int i=0;i<n;i++){
cin>>x[i];
}
ll sum=0;
for(int i=0;i<k;i++){sum+=x[i];}
vector<ll>arr(n-k+1);
arr[0]=sum;
for(int i=k;i<n;i++){
sum+=x[i]-x[i-k];
arr[i-k+1]=sum;
}
ll res=arr[0]+arr[k];
vector<pair<ll,ll>>mx(n-k+1);
ll temp=arr[0];
ll ind=0;
for(int i=0;i<=n-k;i++){
if(arr[i]>temp){
temp=arr[i];
ind=i;
}
mx[i].first=temp;
mx[i].second=ind;
}
ll index1=0,index2=k;
for(int i=n-k;i-k>=0;i--){
ll temp1=arr[i]+mx[i-k].first;
if(temp1>res){
res=temp1;
index1=mx[i-k].second;
index2=i;
}
else if(temp1==res){
if(mx[i-k].second<index1){
index1=mx[i-k].second;
index2=i;
}
else if(mx[i-k].second==index1 && i<index2){
index1=mx[i-k].second;
index2=i;
}
}
}
cout<<index1+1<<' '<<index2+1<<endl;
}
2148. Count Elements With Strictly Smaller and Greater Elements | 2149. Rearrange Array Elements by Sign |
2150. Find All Lonely Numbers in the Array | 2151. Maximum Good People Based on Statements |
2144. Minimum Cost of Buying Candies With Discount | Non empty subsets |
1630A - And Matching | 1630B - Range and Partition |
1630C - Paint the Middle | 1630D - Flipping Range |
1328A - Divisibility Problem | 339A - Helpful Maths |
4A - Watermelon | 476A - Dreamoon and Stairs |
1409A - Yet Another Two Integers Problem | 977A - Wrong Subtraction |
263A - Beautiful Matrix | 180C - Letter |
151A - Soft Drinking | 1352A - Sum of Round Numbers |
281A - Word Capitalization | 1646A - Square Counting |
266A - Stones on the Table | 61A - Ultra-Fast Mathematician |
148A - Insomnia cure | 1650A - Deletions of Two Adjacent Letters |
1512A - Spy Detected | 282A - Bit++ |
69A - Young Physicist | 1651A - Playoff |