Codeforces Round #181 (Div. 2) A. Array

#include <iostream>
#include <vector>
#include <cstdio>

using namespace std;

int main(){
    int n;
    cin >> n;
    vector<int> neg,zero,pos;
    int a;
    for(int i = 0; i < n; i ++ ) {
        cin >>a;
        if(a > 0) pos.push_back(a);
        else if(a < 0) neg.push_back(a);
        else zero.push_back(a);
    }
    if(pos.size() == 0 ){
        pos.push_back(neg.back());
        neg.pop_back();
        pos.push_back(neg.back());
        neg.pop_back();
    }
    if(neg.size()%2 == 0){
        zero.push_back(neg.back());
        neg.pop_back();
    }
    cout << neg.size();
    for(int i = 0; i < neg.size();i ++ ) cout<<" "<<neg[i];
    cout<<endl;
    cout<< pos.size();
    for(int i = 0; i < pos.size();i ++ ) cout<<" "<<pos[i];
    cout<<endl;
    cout<< zero.size();
    for(int i = 0; i < zero.size();i ++ ) cout<<" "<<zero[i];
    cout<<endl;

    return 0;
}

  

原文地址:https://www.cnblogs.com/xiongqiangcs/p/3043904.html