1 条题解
-
0
#include<bits/stdc++.h> #define N 10000005 #define ll long long using namespace std; ll n,k,a[N],b[N]; int main(){ cin>>n>>k; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=n-k+1;i<=n;i++) b[++b[0]]=a[i]; for(int i=1;i<=n;i++) b[++b[0]]=a[i]; for(int i=1;i<=k;i++) b[++b[0]]=a[i]; //for(int i=1;i<=2k+n;i++) cout<<b[i]<<" "; for(int i=1;i<=2k+n;i++) b[i]+=b[i-1]; vector s(N); for(int i=1;i<=n+k;i++){s[i]=b[i+k]-b[i-1];} deque q; for(ll j=1;j<=n+k;j++){ while(!q.empty() && q.front()<j-k) q.pop_front(); while(!q.empty() && s[q.back()]<=s[j]) q.pop_back(); q.push_back(j); if(j>k) cout<<s[q.front()]<<" "; } return 0; }
- 1
信息
- ID
- 9
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者