比赛 普及组2016模拟练习3 评测结果 AATTTTTTTT
题目名称 中考分数 最终得分 20
用户昵称 北舆 运行时间 8.001 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-11-15 21:49:04
显示代码纯文本
  1. #include<iostream>
  2. #include<fstream>
  3. using namespace std;
  4.  
  5. int sort(int l,int r,int a[]){
  6. int j,x,y;
  7. int i = l;
  8. j = r;
  9. x = a[l];
  10. while(i<j){
  11. if(a[i]<=x){
  12. if(a[j]>=x){
  13. y = a[i];
  14. a[i] = a[j];
  15. a[j] = y;
  16. }else j--;
  17. }else i++;
  18. }
  19. return i;
  20. }
  21.  
  22. void QuickSort(int l,int r,int a[]){
  23. if(l<r){
  24. int q = sort(l,r,a);
  25. QuickSort(l,q-1,a);
  26. QuickSort(q+1,r,a);
  27. }
  28. }
  29.  
  30. int main()
  31. {
  32. ofstream fout ("mark.out");
  33. ifstream fin ("mark.in");
  34. int n,m,x;int num = 0;
  35. int a[1000];
  36. fin>>n>>m;
  37. for(int i = 0;i<n;i++){
  38. fin>>a[i];
  39. }
  40. int b[1000];
  41. for(int i = 0;i<m;i++){
  42. b[i] = (i+1)*(n/m);
  43. }
  44.  
  45. fin>>x;
  46. num = a[x-1];
  47. for(int i = 0;i<n;i++){
  48. if(a[i]==a[i+1]){
  49. for(int j = i;j<n-i;j++){
  50. a[j] = a[j+1];
  51. n--;
  52. }
  53. }
  54. }
  55. QuickSort(0,n-1,a);
  56. int sum = 0;
  57. for(int i = 0;i<n;i++){
  58. if(num == a[i]){
  59. sum = i+1;
  60. break;
  61. }
  62. }
  63. for(int i = 0;i<m;i++){
  64. if(sum<=b[i])fout<<i+1;
  65. }
  66. fin.close();
  67. fout.close();
  68. return 0;
  69. }