0
已解决
周承阳
高级守护
高级守护
1068 整理试卷经验值:0
题目描述 Description
一次考试过后,老师批改完试卷,都将试卷按分数从低到高的顺序整理。整理完之后老师发现有一张试卷漏改了,便拿出来重新批改并打上分数。请机智的你帮老师整理使插入这张试卷而不改变试卷分数的高低顺序。
输入描述 Input Description
输入为两行:
第一行为正整数N和x,分别表示试卷的份数(除去漏改的那张)以及漏改试卷的最终分数(0 < N ≤ 20000,0 ≤ X ≤ 100);
第二行为N个整数,分别表示N份试卷按分数由低到高的顺序排列的分数(0~100)。
输出描述 Output Description
输出为一行,为N+1个有序(由低到高)整数,为整理完成的试卷的分数。
样例输入 Sample Input
【样例一输入】 10 75 45 55 60 65 70 75 80 85 90 95 【样例二输入】 10 100 45 55 60 65 70 75 80 85 90 95
样例输出 Sample Output
【样例一输出】 45 55 60 65 70 75 75 80 85 90 95 【样例二输出】 45 55 60 65 70 75 80 85 90 95 100
#include<iostream>
using namespace std;
int a[300005];
int main(){
int n,key,j,x;
cin>>n>>x;
for(int i=1;i<=n+1;i++){
cin>>a[i];
a[n+1]=x;
}
for(int i=2;i<=n+1;i++){
key=a[i];
j=i-1;
while(j>=1&&key<a[j]){
a[j+1]=a[j];
j--;
}
a[j+1]=key;
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
0
已采纳
刘宇航
修练者
修练者
if(a[i]==x) a[i]=110
//cnt[a[i]]++
......
for(......){
if(cnt[a[i]]<=100){
for(int j=1;j<=cnt[a[i]];j++){
cout<<i<<" ";
}
}
}
别禁言,望采纳!!!!!
0
0
0
0