Submission #1172758

#TimeUsernameProblemLanguageResultExecution timeMemory
1172758baqqon_Addk (eJOI21_addk)C++20
36 / 100
23 ms584 KiB
/** III U U N N DDDD EEEEE RRRR SSSS TTTTT AAAAA N N DDDD I TTTTT N N OOO W W I U U NN N D D E R R S T A A NN N D D I T NN N O O W W I U U N N N D D EEEE RRRR SSSS T AAAAA N N N D D I T N N N O O W W W I U U N NN D D E R R S T A A N NN D D I T N NN O O WW WW III UUUUU N N DDDD EEEEE R R SSSS T A A N N DDDD I T N N OOO W W **/ #include <bits/stdc++.h> using namespace std; #define ent '\n' #define F first #define S second #define in insert #define no "NO\n" #define yes "YES\n" #define pb push_back #define sz(w) w.size() #define int long long #define all(w) w.begin(), w.end() #define BakTR ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //const int MOD = 998244353, N = 1e3 + 7 , inf = 1e9 + 7, INF = 2e18, LOG = 20 , mod = 1e6 + 7 ; const int N = 1e4 + 2; const int inf = 1e15; const int mod = 1e9 + 7; int T = 1 , a[10002] , t[4 * N] ; void build( int v, int tl, int tr ) { if( tl == tr ) { t[v] = a[tl]; return; } int mid = (tl + tr) / 2; build(v + v, tl, mid); build(v + v + 1, mid + 1, tr); t[v] = t[v + v] + t[v + v + 1]; } void upd( int v, int tl, int tr, int pos, int x ) { if( tl == tr ) { t[v] = x; return; } int mid = (tl + tr) / 2; if( pos <= mid ) upd(v + v, tl, mid, pos, x); else upd(v + v + 1, mid + 1, tr, pos, x); t[v] = t[v + v] + t[v + v + 1]; } int get( int v, int tl, int tr, int l, int r ) { if( tr < l || r < tl ) return 0; if( l <= tl && tr <= r ) return t[v]; int mid = (tl + tr) / 2; int x = get(v + v, tl, mid, l, r); int y = get(v + v + 1, mid + 1, tr, l, r); return x + y; } void accepted() { int n , k; cin >> n >> k ; for(int i = 1 ; i <= n ; i++) { cin >> a[i] ; } int p[n + 1] ; p[1] = a[1] ; for(int i = 2 ; i <= n ; i++) { p[i] = p[i - 1] + a[i] ; } int q ; cin >> q ; while(q -- ) { int t ; cin >> t ; if(t == 1) { int x ; cin >> x ; } else { int l , r , m ; cin >> l >> r >> m ; int sum = 0 ; for (int ll = l ; ll <= r - m + 1 ; ll++) { int rr = ll + m - 1; sum += p[rr] - p[ll - 1] ; } cout << sum << ent ; } } } signed main() { BakTR //PLS NeverGiveUp //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); int T = 1; //cin >> T; while (T--) { accepted(); cout << ent; } } /** baktr 65868073990A98C52AFDB7A48F4E8D26 **/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...