比赛 |
普及组2016模拟练习3 |
评测结果 |
AWWWWWWWWW |
题目名称 |
中考分数 |
最终得分 |
10 |
用户昵称 |
asd |
运行时间 |
0.005 s |
代码语言 |
C++ |
内存使用 |
0.30 MiB |
提交时间 |
2016-11-15 19:52:22 |
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>
int n,m,a[1001][2],problem,ans[1001];
void find();
void readl()
{ int i;
FILE * f;
f=fopen("mark.in","r");
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++)
fscanf(f,"%d",&a[i][0]);
for(i=1;i<=n;i++)
a[i][1]=i;
fscanf(f,"%d",&problem);
fclose(f);
return ;
}
void print()
{ FILE * f;
f=fopen("mark.out","w");
fprintf(f,"%d",ans[problem]);
fclose(f);
return ;
}
int cmp(const void * a,const void * b)
{ int * x=(int *)a;
int * y=(int *)b;
if(*x>*y) return -1;
else return 1;
}
int main()
{ readl();
find();
print();
return 0;
}
void find()
{
qsort(a+1,n,sizeof(a[0]),cmp);
int i,k=m/n,s=0;
ans[a[1][1]]=1;
s++;
for(i=2;i<=n;i++)
{ s++;
if(a[i][0]==a[i-1][0]){ans[a[i][1]]=ans[a[i-1][1]];continue;}
if(s>k) {s-=k;ans[a[i][1]]=ans[a[i-1][1]]+1;}
else ans[a[i][1]]=ans[a[i-1][1]];
}
return ;
}