记录编号 |
353198 |
评测结果 |
EEEEEEEEEE |
题目名称 |
中考分数 |
最终得分 |
0 |
用户昵称 |
asd |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.737 s |
提交时间 |
2016-11-17 20:53:46 |
内存使用 |
0.30 MiB |
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>
int n,m,a[1001][3],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()
{ int i;
FILE * f;
f=fopen("mark.out","w");
for(i=1;i<=n;i++)
if(a[i][1]==problem) fprintf(f,"%d",a[i][2]);
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;
a[1][2]=1;
s++;
for(i=2;i<=n;i++)
{ s++;
if(a[i][0]==a[i-1][0]) {a[i][2]=a[i-1][2];continue;}
if(s>=k) {a[i][2]=a[i-1][2]+1;s=s%k;}
}
return ;
}