Sortiranje

View as PDF

Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

Dat je niz brojeva dužine N. Potrebno je sortirati niz neopadajuće, jedina moguća operacija nam je da zamenimo neka 2 broja. Moguće je zameniti 2 broja ako je barem jedan od njih prost. Ako je nemoguće sortirati niz neopadajuće, ispisati -1, u suprotnom, ispisati broj poteza, a zatim i rađene zamene. Ako postoji više rešenja, ispisati bilo koje. Maksimalan broj operacija je 2N.

Opis ulaza

U prvoj liniji standardnog ulaza unosi se broj N (2 \le N \le 10^5), koji označava dužinu niza. U drugoj liniji standardnog ulaza unose se elementi niza, razdvojeni sa po jednim razmakom.

Opis izlaza

Ako je nemoguće sortirati niz neopadajuće, ispisati "-1", bez navodnika.
U suprotnom, u prvoj liniji standardnog izlaza ispisati broj operacija K. U sledećih K linija ispisivati po 2 broja razdvojena razmakom, koja označavaju indekse brojeva koji su menjani.

Primer
Standardni ulaz          Standardni izlaz
5
1 3 5 6 4
2
3 5
4 5
3
4 8 6
-1
Objašnjenje test primera

U prvom test primeru zamenjujemo 5 i 4, i dobijamo niz: 1 3 4 6 5. Sada menjamo 5 i 6, i niz je sortiran. U drugom test primeru ne mоžemo zameniti nijedna 2 elementa i niz ostaje nesortiran.

Napomena

Broj je prost ako je veći od 1 i ako je deljiv samo jedinicom i samim sobom.

Ograničenja i podzadaci

(1 \le N \le 10^5)
 1 \le A_i \le 10^{6}

Test primeri su podeljeni u 4 disjunktne grupe:
U test primerima vrednim 12 poena: (2 \le N \le 10).
U test primerima vrednim 12 poena: (2 \le N \le 100).
U test primerima vrednim 32 poena: (2 \le N \le 1000).
U test primerima vrednim 44 poena: Nema dodatnih ograničenja.


Comments

There are no comments at the moment.