GeeksforGeeks Solution For Hard Domain .Below You Can Find The Solution Of School Basic ,Easy ,Medium . Or Hackerrank Solution You Can Also Direct Submit Your Solution to Geeksforgeeks Same Problem .You Need to login then you can submit you answers
Problem :- Given an array of size n and a number k. We must modify array K number of times. Here modify array means in each operation we can replace any array element arr[i] by -arr[i]. We need to perform this operation in such a way that after K operations, sum of array must be maximum?
Submit Your Solution :- Click Here
Solution :-
#include<bits/stdc++.h>
using namespace std;
int maximumSum(int arr[], int n, int k)
{
for (int i=1; i<=k; i++)
{
int min = INT_MAX;
int index = -1;
for (int j=0; j<n; j++)
{
if (arr[j] < min)
{
min = arr[j];
index = j;
}
}
if (min == 0)
break;
arr[index] = -arr[index];
}
int sum = 0;
for (int i=0; i<n; i++)
sum += arr[i];
return sum;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n,i,k,res=0;
cin>>n;
int arr[n];
for(i=0;i<n;i++)
cin>>arr[i];
cin>>k;
cout << maximumSum(arr, n, k);
cout<<endl;
}
return 0;
}
Output:-
0 Comments: