#include "partition.h"
using namespace std;
std::vector<int> solve(std::vector<int> A) {
    vector<vector<int>> V(2*10000000);
    int siz=A.size();
    int mx=0;
    int sum=0;
    vector<int> R(siz);
    for(int i=0; i<A.size(); i++) {
        sum+=A[i];
        V[A[i]].push_back(i);
        if (mx<A[i]) {
            mx=A[i];
        }
    }
    int half=(sum+1)/2;

    if (mx>=half) {
        int b=(siz-1)/2;
        for(int i=0; i<A.size(); i++) {
            if(i!=b && i!=siz-1)
            {
                R[i]=i;
            }
            else if(i==b)
            {
                R[i]=siz-1;
            }
            else
            {
                R[i]=b;
            }
        }
        return {R};
    }

    int i=0, j=siz-1;


    return {R};
}
