Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdio.h>
- #define NMAX 2020
- using namespace std;
- int arr[NMAX][NMAX];
- int main(){
- int n , h , C = 0;
- bool check = false;
- scanf("%d" , &n);
- for(int i = 0 ; i < n ; i++){
- scanf("%d" , &h);
- arr[h][0]++;
- arr[h][arr[h][0]] = i + 1;
- }
- for(int i = 0 ; i < NMAX ; i++)
- C += max(1 , arr[i][0]) - 1;
- if(C < 2){
- printf("NO\n");
- return 0;
- }
- printf("YES\n");
- for(int i = 0 ; i < NMAX ; i++)
- if(arr[i][0] > 0)
- for(int j = 1 ; j <= arr[i][0] ; j++)
- printf("%d " , arr[i][j]);
- printf("\n");
- for(int i = 0 ; i < NMAX ; i++)
- if(arr[i][0] > 0)
- for(int j = 1 ; j <= arr[i][0] ; j++)
- printf("%d " , arr[i][j % arr[i][0] + 1]);
- printf("\n");
- for(int i = 0 ; i < NMAX ; i++){
- if(check == false && arr[i][0] == 2){
- check = true;
- printf("%d %d " , arr[i][2] , arr[i][1]);
- continue;
- }
- if(arr[i][0] > 0)
- for(int j = 1 ; j <= arr[i][0] ; j++)
- printf("%d " , arr[i][(j + 1) % arr[i][0] + 1]);
- }
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement