답안 #593463

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
593463 2022-07-11T08:36:20 Z serkanrashid Addk (eJOI21_addk) C++14
0 / 100
29 ms 2384 KB
#include <bits/stdc++.h>
#define endl '\n'

using namespace std;

const int maxn=1e5+5;
int n,k,q;
long long a[maxn],pref[maxn],suff[maxn],dp[maxn];

void read()
{
    cin >> n >> k;
    for(int i=1;i<=n;i++)
    {
        cin >> a[i];
        pref[i]=pref[i-1]+a[i]*i;
        dp[i]=dp[i-1]+a[i];
        suff[i]=suff[i-1]+a[i]*(n-i+1);
    }
    cin >> q;
    int ch,l,r,m,idx,mid,obr;
    long long ans=0;
    for(int i=1;i<=q;i++)
    {
        cin >> ch;
        ans=0;
        if(ch==1)
        {
            for(int j=1;j<=k;j++) cin >> ch;
        }
        else
        {
            cin >> l >> r >> m;
            //cout << "++++++++++++++++++++++++++" << endl;
            idx=l+m-1;
            mid=(l+r)/2;
            idx=min(idx,mid);
            m=idx-l+1;
            ans+=(((pref[idx-1]-pref[l-1]))-((dp[idx-1]-dp[l-1])*(l-1)));
            obr=l+r-idx;
            ans+=(((suff[r]-suff[obr]))-((dp[r]-dp[obr])*(n-r)));
            ans+=(((dp[obr]-dp[idx-1])*((idx-l+1))));
            cout << ans << endl;
        }
    }
}
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	read();
return 0;
}

/*
8 1
7 2 5 1 9 3 4 6
3
2 3 8 2
2 2 8 3
2 3 6 1
*/

# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 11 ms 1236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 29 ms 2384 KB Output isn't correct
2 Halted 0 ms 0 KB -