P153SUMI - ROUND 3I - Sắp xếp

Link Sub: http://www.spoj.com/PTIT/problems/P153SUMI/
Người Gửi: Funny

  • Problem:

Cho dãy số có n phần tử gồm a[1], a[2], a[3], ..., a[n]. Và một thao tác biến đổi như sau, lấy phần tử cuối cùng của dãy số chuyển lên vị trí đầu tiên, ví dụ: a[1] , a[2], a[3] sẽ thành a[3], a[1], a[2].
Yêu cầu: Với thao tác biến đổi như vậy thì dãy a[] có thể được chuyển thành một dãy không giảm sau một số thao tác hữu hạn nào đó không.
Input
Dòng đầu tiên là số nguyên n (1 <= n <= 10^5).  
Dòng thứ hai chứa n số nguyên a[1], a[2], a[3], ..., a[n] (1 <= a[i] <= 10^5).
Output
In ra số thao tác cần thiết để biến đổi dãy số, hoặc in ra -1 nếu không thể biến đổi được dãy số ban đầu thỏa mãn yêu cầu.
Example:
Input
2
2 1
Output:
1

  • Solution:

Chỉ có 2 trường hợp thỏa mãn đó là: 
- Chỉ có hai dãy không giảm và phần tử đầu của dãy 1 >= phần tử cuối dãy 2. 
- Chỉ có 1 dãy không giảm.

  • Code:

C++:



JAVA:


Share this

Related Posts

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
:-?
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
$-)
(y)
(f)
x-)
(k)
(h)
cheer