Codeforces Round #160 (Div. 2) B - Roma and Changing Signs
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #160 (Div. 2) B - Roma and Changing Signs
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:http://codeforces.com/contest/262/problem/B
n個(gè)數(shù)按不遞減的順序排好?k次取相反數(shù)
思路:一邊讀入數(shù)據(jù),一邊做取反操作
一開始忽略了有k>n且所有數(shù)為負(fù)數(shù)的情況,導(dǎo)致沒有進(jìn)行k次取反,只進(jìn)行了n次。
#include <iostream> #include <cstdlib> #include <cmath> using namespace std;int main() {int n,k;long long sum=0;cin >> n >> k;int min=10005;bool odd=false;for(int i=0;i<n;i++){int temp;cin >> temp;if(min>abs(temp)) min=abs(temp);if(k==0) sum+=temp;else if(temp<0){sum-=temp;k--;}else if(temp>0){sum+=temp;if(k%2==0) k=0;else {k=0;odd=true;}}}if (k>0) //此處讓我WA數(shù)次{if(k%2==0) odd=false;else odd=true;}if(odd) sum-=2*min;cout << sum ;return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/danielqiu/archive/2013/01/16/2863325.html
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #160 (Div. 2) B - Roma and Changing Signs的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android位运算简单讲解
- 下一篇: Java 生成有序 UUID