Submission #35825


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <cstdio>
#include <algorithm>
#define rep(i,n) for(int i=0; i<(n); ++i)
using std::swap;
int partition(int[], int, int);
void quick_sort(int[], int, int);
// quick-sort クイックソート
// O(N log N)
void sort(int a[], int n)
{
quick_sort(a, 0, n);
return;
}
// 半開区間 [l, r)
// a[r-1] をピボットとする
int partition(int a[], int l, int r)
{
int &pivot = a[r-1];
int i = l-1;
for (int j=l; j < r-1; ++j) {
if (a[j] >= pivot) {
++i;
swap(a[i], a[j]);
}
}
swap(a[i+1], pivot);
return (i+1);
}
void quick_sort(int a[], int l, int r)
{
if (l+1 < r) {
const int q = partition(a, l, r);
quick_sort(a, l, q);
quick_sort(a, q, r);
}
}
int main()
{
int n;
int a[102];
scanf("%d", &n);
rep(i, n)
scanf("%d", a+i);
sort(a, n);
rep(i, n)
printf("%d\n", a[i]);
return (0);
}

ステータス

項目 データ
問題 0930 - 背の順
ユーザー名 Arumakan_ei1727
投稿日時 2018-05-16 21:56:03
言語 C++11
状態 Accepted
得点 1
ソースコード長 967 Byte
最大実行時間 27 ms
最大メモリ使用量 592 KB

セット

セット 得点 Cases
1 ALL 1 / 1 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
rnd_1.txt AC 26 ms 480 KB
1
rnd_2.txt AC 25 ms 592 KB
1
rnd_3.txt AC 22 ms 572 KB
1
rnd_4.txt AC 27 ms 560 KB
1
rnd_5.txt AC 19 ms 540 KB
1
sample.txt AC 24 ms 520 KB
1