1862B - Sequence Game - CodeForces Solution


constructive algorithms

Please click on ads to support us..

C++ Code:

// Online C++ compiler to run C++ program online
#include<iostream>
#include<bits/stdc++.h>
#include<vector>
using namespace std;

vector<int> sequence(vector<int> b, int n){
    
    vector<int> ans;
    ans.push_back(b[0]);
    for(int i=1; i<b.size(); i++){
        
        if(b[i]<b[i-1] && (ans.size()<=2*n)){
            
                if(b[i]==1){
                    
                    ans.push_back(b[i]);
                }
                else{
                    
                    ans.push_back(b[i]-1);
                }
                ans.push_back(b[i]);
        }
        else{
            
            ans.push_back(b[i]);
        }
    }
    return ans;
}

int main(){

    int t;
    cin>> t;
    for(int i=0; i<t; i++){

        int n;
        cin>> n;
        vector<int> b(n);
        for(int i=0; i<n; i++){
            
            cin>>b[i];
        }
        vector<int> result = sequence(b, n);
        cout<< result.size() << endl;
        for(int i=0; i<result.size(); i++){
            
            cout<< result[i] << " ";
        }
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm
732A - Buy a Shovel
1220C - Substring Game in the Lesson