比赛 普及组2016模拟练习3 评测结果 AATTTTTTTT
题目名称 中考分数 最终得分 20
用户昵称 北舆 运行时间 8.001 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-11-15 21:49:04
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;

int sort(int l,int r,int a[]){
    int j,x,y;
    int i = l;
    j = r;
    x = a[l];
    while(i<j){
        if(a[i]<=x){
            if(a[j]>=x){
                y = a[i];
                a[i] = a[j];
                a[j] = y;
            }else j--;
        }else i++;
    }
    return i;
}

void QuickSort(int l,int r,int a[]){
    if(l<r){
        int q = sort(l,r,a);
        QuickSort(l,q-1,a);
        QuickSort(q+1,r,a);
    }
}

int main()
{
    ofstream fout ("mark.out");
    ifstream fin ("mark.in");
    int n,m,x;int num = 0;
    int a[1000];
    fin>>n>>m;
    for(int i = 0;i<n;i++){
        fin>>a[i];
    }
    int b[1000];
    for(int i = 0;i<m;i++){
        b[i] = (i+1)*(n/m);
    }

    fin>>x;
    num = a[x-1];
    for(int i = 0;i<n;i++){
        if(a[i]==a[i+1]){
            for(int j = i;j<n-i;j++){
                a[j] = a[j+1];
                n--;
            }
        }
    }
    QuickSort(0,n-1,a);
    int sum = 0;
    for(int i = 0;i<n;i++){
        if(num == a[i]){
            sum = i+1;
            break;
        }
    }
    for(int i = 0;i<m;i++){
        if(sum<=b[i])fout<<i+1;
    }
    fin.close();
    fout.close();
    return 0;
}