提交时间:2024-03-04 18:52:47

运行 ID: 135282

#include <bits/stdc++.h> using namespace std; int a[11111]; int main() { int n , k , sum = 0 , cnt = 0; cin >> n >> k; for(int i = 1 ; i <= n ; i++) { cin >> a[i]; if(a[i] < 0) { cnt++; } } sort(a + 1, a + n + 1); if(k == cnt) { for(int i = 1 ; i <= n ; i++) { abs(a[i]); sum += a[i]; } cout << sum; return 0; } else if(k > cnt) { for(int i = 1 ; i <= n ; i++) { a[i] = abs(a[i]); } } else if(k > 0 && k < cnt) { sort(a + 1, a + n + 1); int j = 0, num = 0; for(int j = 1 ; j <= n ; j++) { if(num == k) { break; } if(a[j] < 0) { a[j] = abs(a[j]); num++; } } for(int i = 1 ; i <= n ; i++) { sum += a[i]; } cout << sum; return 0; } k = k - cnt; sort(a + 1, a + n + 1); if(k >= 1) { if(k % 2 == 0) { for(int i = 1 ; i <= n ; i++) { sum += a[i]; } cout << sum; return 0; } else if(k % 2 != 0) { sort(a + 1, a + n + 1); a[1] = -a[1]; for(int i = 1 ; i <= n ; i++) { sum += a[i]; } cout << sum; return 0; } } else { for(int i = 1 ; i <= n ; i++) { sum += a[i]; } cout << sum; } return 0; }