hdu 1425 hdoj 1425

1176 ワード

sort
Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13932    Accepted Submission(s): 3951
Problem Description
n個の整数をあげます.大きいから小さい順に前のmの大きい数を出力してください.
 
Input
各テストデータのセットには2行あり、最初の行には2つの数n,m(0)がある.
 
Output
各試験データのセットについて、前のmの大きい数を大きい順に出力する.
 
Sample Input
5 3 3 -35 92 213 -644
 
Sample Output
213 92 3
#include   int main() {         unsigned n, m;        int x;          char a[1000001] = {0};       while (scanf("%d%d", &n, &m) != EOF)         {                  while (n--)                {                        scanf("%d", &x);                  a[500000+x]++;               }                 for (x = 1000000; m; x--)               {                       if (a[x])                 {                               printf("%d", x-500000);                 if (--m)                                       putchar(32);                 else                                        putchar(10);                          a[x]--;                          }              }         }           return 0;   }