Yaroslav and Sequence CodeForces - 302C

原题链接

考察:思维

思路:

        首先要发现负数个数a,正数个数b转化为其他ai bi实际上构成了一张无向图.

        然后就能发现当负数个数为奇数时,且n为偶数时,会有一个负数不能转化为正数.

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 using namespace std;
 5 const int N = 210;
 6 int n,a[N],cnt,ans;
 7 int main()//不一定只改变一次 
 8 {
 9     scanf("%d",&n);
10     for(int i=1;i<n<<1;i++) 
11     {
12         scanf("%d",&a[i]);
13         if(a[i]<0)
14         {
15             a[i] = -a[i];
16             cnt++;
17         }
18         ans+=a[i];
19     }
20     sort(a+1,a+2*n);
21     if(cnt%2&&n%2==0) ans-=2*a[1];
22     printf("%d\n",ans);
23     return 0;
24 }

 

posted @ 2021-03-30 23:47  acmloser  阅读(62)  评论(0编辑  收藏  举报