# Find any K distinct odd integers such that their sum is equal to N

Given two integers **N** and **K**, the task is to find any **K** distinct odd integers such that their sum is equal to **N**. If no such integers exists, print -1.**Examples:**

Input:N = 10, K = 2Output:1, 9Explanation:

There are two possible distinct odd integers, such that their sum is equal to N.

Possible K integers can be – {(1, 9), (3, 7)}Input:N = 5, K = 4Output:-1Explanation:

There are no such 4 distinct odd integers such that their sum is 5.

**Approach:**

- The key observation in this problem is if N and K have different parity then it is not possible to find K such distinct integers such that their sum is equal to N,
- Otherwise such
**K – 1**integers will consist of**first K-1 odd positive integers** - The
**K**will be equal to^{th}odd number**(N – the sum of first (K-1) odd integers)**

K^{th}Odd number = N - sum of first K-1 integer

Below is the implementation of the above approach:

## C++

`// C++ implementation to find k` `// odd integers such that their sum is N` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find K odd integers` `// such that their sum is N` `void` `oddIntegers(` `int` `n, ` `int` `k)` `{` ` ` `// Condition to check if there` ` ` `// exist such K integers` ` ` `if` `(n % 2 != k % 2) {` ` ` `cout << ` `"-1"` ` ` `<< ` `"\n"` `;` ` ` `return` `;` ` ` `}` ` ` `int` `sum = 0;` ` ` `int` `i = 1;` ` ` `int` `j = 1;` ` ` `// Loop to find first K-1` ` ` `// distinct odd integers` ` ` `while` `(j < k) {` ` ` `sum = sum + i;` ` ` `cout << i << ` `" "` `;` ` ` `i = i + 2;` ` ` `j++;` ` ` `}` ` ` `// Final Kth odd number` ` ` `int` `finalOdd = n - sum;` ` ` `cout << finalOdd << ` `"\n"` `;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `n = 10;` ` ` `int` `k = 2;` ` ` `oddIntegers(n, k);` ` ` `return` `0;` `}` |

## Java

`// Java implementation to find k` `// odd integers such that their sum is N` `class` `GFG` `{` `// Function to find K odd integers` `// such that their sum is N` `static` `void` `oddIntegers(` `int` `n, ` `int` `k)` `{` ` ` `// Condition to check if there` ` ` `// exist such K integers` ` ` `if` `(n % ` `2` `!= k % ` `2` `) {` ` ` `System.out.println(` `"-1"` `);` ` ` `return` `;` ` ` `}` ` ` `int` `sum = ` `0` `;` ` ` `int` `i = ` `1` `;` ` ` `int` `j = ` `1` `;` ` ` `// Loop to find first K-1` ` ` `// distinct odd integers` ` ` `while` `(j < k) {` ` ` `sum = sum + i;` ` ` `System.out.print(i+` `" "` `);` ` ` `i = i + ` `2` `;` ` ` `j++;` ` ` `}` ` ` `// Final Kth odd number` ` ` `int` `finalOdd = n - sum;` ` ` ` ` `System.out.println(finalOdd);` `}` `// Driver code` `public` `static` `void` `main (String[] args)` `{` ` ` `int` `n = ` `10` `;` ` ` `int` `k = ` `2` `;` ` ` `oddIntegers(n, k);` `}` `}` `// This code is contributed by shubhamsingh` |

## Python3

`# Python3 implementation to find k ` `# odd integers such that their sum is N ` `# Function to find K odd integers ` `# such that their sum is N ` `def` `oddIntegers(n, k) : ` ` ` `# Condition to check if there ` ` ` `# exist such K integers ` ` ` `if` `(n ` `%` `2` `!` `=` `k ` `%` `2` `) :` ` ` `print` `(` `"-1"` `); ` ` ` ` ` `return` `; ` ` ` `sum` `=` `0` `; ` ` ` `i ` `=` `1` `; ` ` ` `j ` `=` `1` `; ` ` ` `# Loop to find first K-1 ` ` ` `# distinct odd integers ` ` ` `while` `(j < k) :` ` ` `sum` `+` `=` `i; ` ` ` `print` `(i,end` `=` `" "` `); ` ` ` `i ` `+` `=` `2` `; ` ` ` `j ` `+` `=` `1` `; ` ` ` `# Final Kth odd number ` ` ` `finalOdd ` `=` `n ` `-` `sum` `; ` ` ` `print` `(finalOdd); ` `# Driver code ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` `n ` `=` `10` `; ` ` ` `k ` `=` `2` `; ` ` ` `oddIntegers(n, k); ` ` ` `# This code is contributed by AnkitRai01` |

## C#

`// C# implementation to find k` `// odd integers such that their sum is N` `using` `System;` `class` `GFG` `{` ` ` `// Function to find K odd integers` `// such that their sum is N` `static` `void` `oddints(` `int` `n, ` `int` `k)` `{` ` ` `// Condition to check if there` ` ` `// exist such K integers` ` ` `if` `(n % 2 != k % 2) {` ` ` `Console.WriteLine(` `"-1"` `);` ` ` `return` `;` ` ` `}` ` ` ` ` `int` `sum = 0;` ` ` `int` `i = 1;` ` ` `int` `j = 1;` ` ` ` ` `// Loop to find first K-1` ` ` `// distinct odd integers` ` ` `while` `(j < k) {` ` ` `sum = sum + i;` ` ` `Console.Write(i+` `" "` `);` ` ` `i = i + 2;` ` ` `j++;` ` ` `}` ` ` ` ` `// Final Kth odd number` ` ` `int` `finalOdd = n - sum;` ` ` ` ` `Console.WriteLine(finalOdd);` `}` ` ` `// Driver code` `public` `static` `void` `Main(String[] args)` `{` ` ` `int` `n = 10;` ` ` `int` `k = 2;` ` ` ` ` `oddints(n, k);` `}` `}` `// This code is contributed by PrinciRaj1992` |

## Javascript

`<script>` `// JavaScript implementation to find k` `// odd integers such that their sum is N ` `// Function to find K odd integers` `// such that their sum is N` ` ` `function` `oddIntegers(n , k) ` ` ` `{` ` ` `// Condition to check if there` ` ` `// exist such K integers` ` ` `if` `(n % 2 != k % 2) {` ` ` `document.write(` `"-1"` `);` ` ` `return` `;` ` ` `}` ` ` `var` `sum = 0;` ` ` `var` `i = 1;` ` ` `var` `j = 1;` ` ` `// Loop to find first K-1` ` ` `// distinct odd integers` ` ` `while` `(j < k) {` ` ` `sum = sum + i;` ` ` `document.write(i + ` `" "` `);` ` ` `i = i + 2;` ` ` `j++;` ` ` `}` ` ` `// Final Kth odd number` ` ` `var` `finalOdd = n - sum;` ` ` `document.write(finalOdd);` ` ` `}` ` ` `// Driver code` ` ` ` ` `var` `n = 10;` ` ` `var` `k = 2;` ` ` `oddIntegers(n, k);` `// This code contributed by Rajput-Ji` `</script>` |

**Output:**

1 9

**Performance Analysis:**

**Time Complexity:**As in the above approach, There is a loop to find such K odd integers which takes O(K) time in worst case. Hence the Time Complexity will be**O(K)**.**Auxiliary Space Complexity:**As in the above approach, There is no extra space used. Hence the auxiliary space complexity will be**O(1)**.