Given a number **N** and an integer **S**, the task is to create an array of **N** integers such that sum of all elements equals to **S** and print an element **K** where 0 ≤ K ≤ S, such that there exists no subarray with sum equals to **K** or **(S – K)**.

If no such array is possible then print **“-1”**.

**Note:** There can be more than one value for **K**. You can print any one of them.

**Examples:**

Input:N = 1, S = 4

Output:{4}

K = 2

Explanation:

There exists an array {4} whose sum is 4.

From all possible value of K i.e., 0 ≤ K ≤ 4, K = 1, 2, and 3 satisfy the given conditions.

For K = 2, there is no subarray whose sum is 2 or S – K i.e., 4 – 2 = 2.

Input:N = 3, S = 8

Output:{2, 2, 4}

K = 1

Explanation:

There exists an array {2, 2, 4} and there exists K as 1 such that there is no subarray whose sum is 1 and S – K i.e., 8 – 1 = 7.

**Approach:** To solve the problem mentioned above we have to observe that:

- If
**2 * N > S**then there is no array possible.

**For Example:**For N = 3 and S = 4, then the possible arrays are {1, 2, 1}, {1, 1, 2}, {2, 1, 1}.

The possible values for**K**are 0, 1, 2, 3 (0 < = k < = S).

But there is no value for**K**which satisfy the condition.

So the solution to this is not possible. - An array is only possible if
**2 * N <= S**and the array can be created using elements**(N-1) times 2**and the last element as**S – (2 * (N – 1))**and K will always be 1.

Below is the implementation of the above approach:

## C++

`// C++ for the above approach ` `#include<bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to create an array with ` `// N elements with sum as S such that ` `// the given conditions satisfy ` `void` `createArray(` `int` `n, ` `int` `s) ` `{ ` ` ` ` ` `// Check if the solution exists ` ` ` `if` `(2 * n <= s) ` ` ` `{ ` ` ` ` ` `// Print the array as ` ` ` `// print (n-1) elments ` ` ` `// of array as 2 ` ` ` `for` `(` `int` `i = 0; i < n - 1; i++) ` ` ` `{ ` ` ` `cout << ` `"2"` `<< ` `" "` `; ` ` ` `s -= 2; ` ` ` `} ` ` ` ` ` `// Print the last element ` ` ` `// of the array ` ` ` `cout << s << endl; ` ` ` ` ` `// Print the value of k ` ` ` `cout << ` `"1"` `<< endl; ` ` ` `} ` ` ` `else` ` ` ` ` `// If solution doesnot exists ` ` ` `cout << ` `"-1"` `<< endl; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` ` ` `// Given N and sum S ` ` ` `int` `N = 1; ` ` ` `int` `S = 4; ` ` ` ` ` `// Function call ` ` ` `createArray(N, S); ` `} ` ` ` `// This code is contributed by Ritik Bansal ` |

*chevron_right*

*filter_none*

## Java

`// Java for the above approach ` `class` `GFG{ ` ` ` `// Function to create an array with ` `// N elements with sum as S such that ` `// the given conditions satisfy ` `static` `void` `createArray(` `int` `n, ` `int` `s) ` `{ ` ` ` ` ` `// Check if the solution exists ` ` ` `if` `(` `2` `* n <= s) ` ` ` `{ ` ` ` ` ` `// Print the array as ` ` ` `// print (n-1) elments ` ` ` `// of array as 2 ` ` ` `for` `(` `int` `i = ` `0` `; i < n - ` `1` `; i++) ` ` ` `{ ` ` ` `System.out.print(` `2` `+ ` `" "` `); ` ` ` `s -= ` `2` `; ` ` ` `} ` ` ` ` ` `// Print the last element ` ` ` `// of the array ` ` ` `System.out.println(s); ` ` ` ` ` `// Print the value of k ` ` ` `System.out.println(` `1` `); ` ` ` `} ` ` ` `else` ` ` ` ` `// If solution doesnot exists ` ` ` `System.out.print(` `"-1"` `); ` `} ` ` ` `// Driver Code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` ` ` `// Given N and sum S ` ` ` `int` `N = ` `1` `; ` ` ` `int` `S = ` `4` `; ` ` ` ` ` `// Function call ` ` ` `createArray(N, S); ` `} ` `} ` ` ` `// This code is contributed by 29AjayKumar ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 for the above approach ` ` ` `# Function to create an array with ` `# N elements with sum as S such that ` `# the given conditions satisfy ` `def` `createArray(n, s): ` ` ` ` ` `# Check if the solution exists ` ` ` `if` `(` `2` `*` `n<` `=` `s): ` ` ` ` ` `# Print the array as ` ` ` `# print (n-1) elments ` ` ` `# of array as 2 ` ` ` `for` `i ` `in` `range` `(n` `-` `1` `): ` ` ` `print` `(` `2` `, end ` `=` `" "` `) ` ` ` `s` `-` `=` `2` ` ` ` ` `# Print the last element ` ` ` `# of the array ` ` ` `print` `(s) ` ` ` ` ` `# Print the value of k ` ` ` `print` `(` `1` `) ` ` ` `else` `: ` ` ` `# If solution doesnot exists ` ` ` `print` `(` `'-1'` `) ` ` ` ` ` `# Driver Code ` ` ` `# Given N and sum S ` `N ` `=` `1` `S ` `=` `4` ` ` `# Function call ` `createArray(N, S) ` |

*chevron_right*

*filter_none*

## C#

`// C# program for the above approach ` `using` `System; ` `class` `GFG{ ` ` ` `// Function to create an array with ` `// N elements with sum as S such that ` `// the given conditions satisfy ` `static` `void` `createArray(` `int` `n, ` `int` `s) ` `{ ` ` ` ` ` `// Check if the solution exists ` ` ` `if` `(2 * n <= s) ` ` ` `{ ` ` ` ` ` `// Print the array as ` ` ` `// print (n-1) elments ` ` ` `// of array as 2 ` ` ` `for` `(` `int` `i = 0; i < n - 1; i++) ` ` ` `{ ` ` ` `Console.Write(2 + ` `" "` `); ` ` ` `s -= 2; ` ` ` `} ` ` ` ` ` `// Print the last element ` ` ` `// of the array ` ` ` `Console.WriteLine(s); ` ` ` ` ` `// Print the value of k ` ` ` `Console.WriteLine(1); ` ` ` `} ` ` ` `else` ` ` ` ` `// If solution doesnot exists ` ` ` `Console.Write(` `"-1"` `); ` `} ` ` ` `// Driver Code ` `public` `static` `void` `Main() ` `{ ` ` ` ` ` `// Given N and sum S ` ` ` `int` `N = 1; ` ` ` `int` `S = 4; ` ` ` ` ` `// Function call ` ` ` `createArray(N, S); ` `} ` `} ` ` ` `// This code is contributed by Code_Mech ` |

*chevron_right*

*filter_none*

**Output:**

4 1

**Time Complexity:** *O(N)*

**Auxiliary Space:** *O(1)*