Submission #1071665

#TimeUsernameProblemLanguageResultExecution timeMemory
1071665vjudge1Addk (eJOI21_addk)C++17
36 / 100
2082 ms1748 KiB
#include <bits/stdc++.h>
#define int long long
#define boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define file(s) freopen(s".in", "r", stdin); freopen(s".out", "w", stdout)
const int N=1e5+1;
const int inf=1e18;
const int mod=1e9+7;
using namespace std;
vector<int>v;
signed main(){
	boost;
	int n,k;
	cin>>n>>k;
	v.push_back(0);
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		v.push_back(x);
	}
	int q;
	cin>>q;
	while(q--){
		int type;
		cin>>type;
		if(type==1){
			for(int i=1;i<=k;i++){
				int x;
				cin>>x;
			}
		}else{
			int l,r,m;
			cin>>l>>r>>m;
			int ans=0;
			int cnt=1;
			int pos=r-m+1;
			int pos1=l+m-1;
			int l1=min(pos,pos1);
			int r1=max(pos,pos1);
			for(int i=l;i<=r;i++){
				ans+=v[i]*cnt;
				if(l1<=i&&i<r1){
					continue;
				}
				if(i>=r1){
					cnt--;
					continue;
				}
					cnt=min(cnt+1,m);
			}
			cout<<ans<<"\n";
		}
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...