Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define debug(x) cerr << " - " << #x << ": " << x << endl;
- #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl;
- #define here() cerr << "here" << endl;
- #define all(x) (x).begin(),(x).end()
- #define pb push_back
- #define fi first
- #define se second
- #define EPS 1e-7
- #define INF 2000000000
- const int MODN = 1e9 + 7;
- #define rep(i, n) for (int i = 0, _n = (int)(n); i < _n; i++)
- typedef long long ll;
- typedef pair<int, int> ii;
- typedef vector<int> vi;
- typedef vector<ii> vii;
- int n;
- int ns[1002];
- void work(int len, int st){
- if(len<3) return;
- int len1=ns[st];
- int len2=len-len1;
- work(len2,st+len1);
- work(len1,st+1);
- if(ns[st]+1<len){
- int w=1;
- for(int i=0;i<st;i++,w++) printf("%d ", ns[i]);
- printf("%d ",ns[st]+1);
- for(;w<n;w++) printf("1 ");
- printf("\n");
- exit(0);
- }
- }
- int main(){
- scanf("%d",&n);
- rep(i,n) scanf("%d",&ns[i]);
- work(n,1); //num feuilles / starting position
- printf("0\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement