zzulioj1899 985的最大和難題(思維)

2021-07-16 10:09:56 字數 901 閱讀 7527

description

985有2 * n - 1個整數,他每次可以將其中n個數變號,操作次數不限,問他可以得到的最大和。

input

第一行輸入乙個整數t,代表有t組測試資料。

每組資料佔兩行,第一行輸入乙個整數n,下面一行輸入2*n-1個整數a。

注:1 <= t <= 32,1 <= n <= 1e3,-1e3 <= a <= 1e3。

output

輸出乙個整數代表可以得到的最大和。

sample input22

1 1 1

2-10 20 -10

sample output

3思路:這道題是考驗思維的,如果n為奇數的話那麼所有的數都可以變成正數,如果n為偶數負數的個數也為偶數的話,所有的負數也可以全部轉化為正數,如果n為偶數負數的個數為奇數的話,只剩乙個負數無法轉化。所以分類討論,開始直接算出所有數絕對值的和,然後判斷,前兩種情況直接輸出ans,最後一種輸出ans減去兩個絕對值最小的那個數(因為ans為所有絕對值和包含了第乙個數的絕對值,如果有乙個無法轉變,則需要減去兩個)

**:#include#include#include#includeusing namespace std;

int main()

{ int t,a[3010],b[3010];

scanf("%d",&t);

while(t--)

{ memset(a,0,sizeof(a));

memset(b,0,sizeof(b));

int n;

scanf("%d",&n);

int sum=2*n-1;

long long ans=0;

int fu=0;

for(int i=0;i

zzulioj 1899 985的最大和難題

985的最大和難題 time limit 1 sec memory limit 128 mb submit 285 solved 29 submitstatusweb board description 985有2 n 1個整數,他每次可以將其中n個數變號,操作次數不限,問他可以得到的最大和。inp...

1899 985的最大和難題

time limit 1 sec memory limit 128 mb 985有2 n 1個整數,他每次可以將其中n個數變號,操作次數不限,問他可以得到的最大和。第一行輸入乙個整數t,代表有t組測試資料。每組資料佔兩行,第一行輸入乙個整數n,下面一行輸入2 n 1個整數a。注 1 t 32,1 n...

zzuli 1899 985的最大和難題

985有2 n 1個整數,他每次可以將其中n個數變號,操作次數不限,問他可以得到的最大和。第一行輸入乙個整數t,代表有t組測試資料。每組資料佔兩行,第一行輸入乙個整數n,下面一行輸入2 n 1個整數a。注 1 t 32,1 n 1e3,1e3 a 1e3。輸出乙個整數代表可以得到的最大和。221 1...