Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Cho một dãy gồm ~n~ số nguyên ~a_1, a_2, …, a_n~, đếm số cặp số mà số đứng sau nhỏ hơn số đứng trước. Tức là đếm số cặp ~a_i, a_j~ mà ~i < j~ và ~a_i > a_j~.
Input
- Dòng đầu tiên chứa duy nhất một số nguyên dương ~n~ (số phần tử trong dãy);
- Dòng thứ hai chứa ~n~ số nguyên là các phần tử ~a_1, a_2, …, a_n~
Giới hạn:
- ~1≤n≤10^5,1≤a_i≤10^5~
Output
- In ra trên một dòng số nguyên duy nhất là số cặp nghịch thế của dãy.
Sample
Input #1
5
2 1 1 2 3
Output #1
2
Input #2
5
3 1 3 1 2
Output #2
5
Problem source: Chuyên Sơn La Online Judge
Bình luận
include <bits/stdc++.h>
using namespace std;
int main() { int n; cin >> n; int a[n]; for( int i=0; i < n; i++){ cin >> a[i]; } int cnt=0; for( int i=0; i < n-1;i++){ for(int j=i+1;j<n;j++){
} tle test cuoi
ad và mọi người giúp em xem test 10 với ạ, e dùng mergeSort đúng 9/10 test (java)
public class mergeSort { public static void main (String args[]){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int [] a = new int[n] ; for(int i = 0; i < n; i++ ){ a[i] = in.nextInt(); } in.close(); int invest = 0; invest += mergeSort(a, 0, a.length - 1);
}