# 1 – Cakezoned Codechef Solution|Problem Code: BENDSP2

Hello coders, today we are going to solve 1 – Cakezoned Codechef Solution.

## Problem

Chefina loves cakes! N suitors numbered 1…N have arrived from across the seven seas to woo her.

Each of the suitors wishes to impress Chefina, so suitor i has prepared a cake of height Hi. To test the suitors, Chefina assigned them Q tasks. Each of the tasks is of one of the following types:

• 11 L R X: Increase the heights of all cakes in the range L to R inclusive by X, i.e., increase each of HL, HL+1, HL+2…… HR by X.
• 22: Find the sum of heights of all cakes prepared by odd-numbered suitors.
• 33: Find the sum of heights of all cakes prepared by even-numbered suitors.

Can you help the suitors complete the tasks?

### Input:

• The first line contains an integer N, the number of cakes.
• The next line contains N space-separated integers H1,H2,…,HN, denoting the heights of the cakes.
• The third line contains an integer Q, the number of tasks.
• The next Q lines describe the tasks assigned to the suitors by Chefina.

### Output:

For each task of type 2 or 3, display the sum of heights of all cakes prepared by odd or even-numbered suitors, respectively, on a new line.

### Constraints:

• 1≤N≤1051≤N≤105
• 1≤Q≤2⋅1051≤Q≤2⋅105
• 1≤L≤R≤N1≤L≤R≤N
• 1≤X,Hi≤108

### Sample Input 1

``````6
2 9 5 2 1 8
5
2
3
1 1 3 2
3
2
``````

```8
19
21
12
```

### 1 – Cakezoned CodeChef Solution in JAVA

```import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] H = new int[N];
for (int i = 0; i < H.length; ++i) {
H[i] = sc.nextInt();
}
int Q = sc.nextInt();
sc.nextLine();
for (int i = 0; i < tasks.length; ++i) {
}
sc.close();
}
static String solve(int[] H, String[] tasks) {
long oddSum =
IntStream.range(0, H.length).filter(i -> i % 2 == 0).map(i -> H[i]).asLongStream().sum();
long evenSum =
IntStream.range(0, H.length).filter(i -> i % 2 != 0).map(i -> H[i]).asLongStream().sum();
List<Long> result = new ArrayList<>();
int L = Integer.parseInt(parts[1]);
int R = Integer.parseInt(parts[2]);
int X = Integer.parseInt(parts[3]);
int minOdd = L + ((L % 2 == 0) ? 1 : 0);
int maxOdd = R - ((R % 2 == 0) ? 1 : 0);
oddSum += (maxOdd / 2L - minOdd / 2 + 1) * X;
int minEven = L + ((L % 2 == 0) ? 0 : 1);
int maxEven = R - ((R % 2 == 0) ? 0 : 1);
evenSum += (maxEven / 2L - minEven / 2 + 1) * X;
} else if (task.charAt(0) == '2') {
} else {
}
}
return result.stream().map(String::valueOf).collect(Collectors.joining("\n"));
}
}```

### 1 – Cakezoned CodeChef Solution in CPP

```#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long n,q,l,r,x,odd_sum=0,even_sum=0,i;
cin>>n;
long long a[n];
for(i=1;i<=n;i++)
{
cin>>a[i];
if(i%2!=0)
odd_sum+=a[i];
else
even_sum+=a[i];
}
cin>>q;
while(q--)
{
int x;
cin>>x;
if(x==1)
{
cin>>l>>r>>x;
if(l%2!=0 && r%2!=0)
{
even_sum+=(r-l)/2*x;
odd_sum+=((r-l)/2+1)*x;
}
else if(l%2==0 && r%2==0)
{
odd_sum+=(r-l)/2*x;
even_sum+=((r-l)/2+1)*x;
}
else
{
odd_sum+=((r-l)/2+1)*x;
even_sum+=((r-l)/2+1)*x;
}
}
else if(x==2)
{
cout<<odd_sum<<endl;
}
else
{
cout<<even_sum<<endl;
}
}
return 0;
}```

### 1 – Cakezoned CodeChef Solution in PYTHON

```import sys
class Cakes:
cakes_count = 0
cakes_heights_odd_even = [0, 0]
def __init__(self, cakes_count):
self.cakes_count = cakes_count
def get_increments(self, span, first):
if span % 2 == 0:
return [int(span / 2), int(span / 2)]
else:
if first % 2 == 0:
return [int(span / 2), int(span / 2) + 1]
else:
return [int(span / 2) + 1, int(span / 2)]
def process(self):
i = 0
for height in cakes_heights:
self.cakes_heights_odd_even[i] += int(height)
i = (i + 1) % 2
continue