宇航局準備招收一批科研人員從事月球探索的航空科研工作。這個職位來了很多應聘者,宇航局對眾多應聘者進行綜合素質考試,最終會選出x名綜合得分排名靠前應聘者。目前考試已經結束了,宇航局需要根據目前考試的成績計算出,如果要選出x個分數靠前的人,分數線應該劃到多少分?請你寫一個程序來幫助宇航局計算分數線。
比如:如果有10名選手參加考試,他們的得分如下
100 99 98 97 96 95 94 93 92 91 90
如果要選出3名分數靠前的人,那么分數線應該劃在98分。
輸入格式
第一行是一個整數n,代表參加考試的人數(n<=1000)
第二行有n個整數,用空格隔開,代表n個人的考試分數(注意:不存在成績一樣的分數)
第三行有一個整數x(x < n),代表宇航局要選出的人數
輸出格式
一個整數,代表如果要選出x個人,宇航局應當劃出的分數線。
輸入/輸出例子1
輸入:
8
100 90 98 92 85 70 88 96
2
輸出:
98
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long n,x,a[2000];
int l(int x,int y)
{return x>y;
}
int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];cin>>x;sort(a+1,a+n+1,l);cout<<a[x];return 0;
} 佛山創文要求大家要遵守交通規則,發揚尊老愛幼精神。文文想做一個關于公交文化的調查。他專門為排隊上車發明了一套叫做“愧疚指數”的分析系統,就是在隊列中把人分為三等:第一等為優先級最高,最需要照顧的老人、小孩、孕婦等,應該最優先上車,優先代號為1;第二等是普通女人,為了發揚紳士風度,男人是要讓女人先上車的,但優先級低于一等,優先代號為2;第三等是普通男人,優先級最低,應該排在最后面,優先代號為3。所謂的“愧疚指數”是指隊列中一個人后面有多少人的優先級比他高,如隊列中有5個人分別為:3 2 1 2 1,那么這5個人的“愧疚指數”分別為:4 2 0 1 0。現在已經知道一個隊列,請你幫文文算出隊列中每個人的“愧疚指數”。
輸入格式
第一行是一個正整數n,表示一共有多少個人排隊。
?第二行有n個用空格隔開的正整數,它們從左至右給出了隊列中n個人的優先代號。
對于80%的數據,n≦10000;
?對于100%的數據,n≦200000。
?
輸出格式
?輸出一行:有n個用空格分開的正整數,代表隊列中每個人的“愧疚指數”。
輸入/輸出例子1
輸入:
5
3 2 1 2 1
輸出:
4 2 0 1 0
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long n,a[200005],s1,s2;
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if(a[i]==1)s1++;if(a[i]==2)s2++;}for(int i=1;i<=n;i++){if(a[i]==1){cout<<0<<" ";s1--;}if(a[i]==2){cout<<s1<<" ";s2--;}if(a[i]==3){cout<<s1+s2<<" ";}}return 0;
} 給出一系列整數,輸出所有的“支撐數”。支撐數是這樣一種數:它不在第一個,也不在最后一個,而且比左邊和右邊相鄰的數都大。
輸入格式
第一行1個整數n,表示數的個數,3<=n<=100。
第二行n個整數,每兩個數之間用一個空格隔開。
輸出格式
按讀入順序,一次輸出一行若干個支撐數,每兩個數之間用一個空格隔開。
輸入/輸出例子1
輸入:
14
1 3 2 4 1 5 3 9 7 10 8 23 85 43
輸出:
3 4 5 9 10 85
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long a,b[200];
int main(){ cin>>a;for(int i=1;i<=a;i++)cin>>b[i];for(int i=2;i<=a-1;i++){if(b[i]>b[i-1]&&b[i]>b[i+1])cout<<b[i]<<" ";}return 0;
} 小S來到一塊階梯地,這一塊階梯地具有連續的n小塊地,每一小塊地都有一定的高度,如果連續m段地的高度相同,那么我們稱這連續一段地的平地值為m。現在給出這一塊階梯地每一塊地的高度值,請試編寫一個程序,把這塊階梯地平地值最大者找出來,并輸出該平地值。
輸入格式
第一行一個正整數n?,n<=10000.
第二行n個正整數,表示地的高度。
輸出格式
最大平地值
輸入/輸出例子1
輸入:
10
1 2 2 3 3 3 4 5 5 6
輸出:
3
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long maxx=1,n,a[10005],s=1;
int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<n;i++) {if(a[i]==a[i+1])s++;if(s>maxx)maxx=s;if(a[i]!=a[i+1])s=1;}cout<<maxx;return 0;
} 最近有?n個開心的事,每句話都有一個正整數開心值(人啊,就是要開心)。開心小哥想知道連續?m個開心值的和的最小值是多少,但是由于最近忙于開心,開心小哥只好請你編個程序告訴他。
輸入格式
一行有兩個用空格隔開的整數,分別代表?n和?m。1<=m<=n<=100000。
第?2?到第?(n + 1)?行,每行一個整數,第?(i + 1)?行的整數?a_i代表第?i件事的開心值?a_i,a_i<=10000。
輸出格式
輸出一行一個整數,表示連續?m?個開心值的和的最小值
輸入/輸出例子1
輸入:
?8? 3
1
4
7
3
1
2
4
3
輸出:
6
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100005],s,minn;
int main(){cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=m;i++)minn=minn+a[i];for(int i=1;i<=n-m+1;i++){s=0;for(int j=i;j<=i+m-1;j++){s=s+a[j];}if(s<minn)minn=s;}cout<<minn;return 0;
} 人比人,氣死人;魚比魚,難死魚。小魚最近參加了一個“比可愛”比賽,比的是每只魚的可愛程度。參賽的魚被從左到右排成一排,頭都朝向左邊,然后每只魚會得到一個整數數值,表示這只魚的可愛程度,很顯然整數越大,表示這只魚越可愛,而且任意兩只魚的可愛程度可能一樣。由于所有的魚頭都朝向左邊,所以每只魚只能看見在它左邊的魚的可愛程度,它們心里都在計算,在自己的眼力范圍內有多少只魚不如自己可愛呢。請你幫這些可愛但是魚腦不夠用的小魚們計算一下。
輸入格式
第一行輸入一個整數?n,表示魚的數目,n<=100。
第二行內輸入?n個整數,用空格間隔,依次表示從左到右每只小魚的可愛程度,數據范圍[0,10^8]。
輸出格式
一行輸出?n個整數,用空格間隔,依次表示每只小魚眼中有多少只魚不如自己可愛。
輸入/輸出例子1
輸入:
6
4 3 0 5 1 2
輸出:
0 0 0 3 1 2
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long n,a[100005],s;
int main(){cin>>n;for(int i=1;i<=n;i++){s=0;cin>>a[i];for(int j=i-1;j>=1;j--)if(a[j]<a[i])s++;cout<<s<<" ";}return 0;
} 又到學期末,小明迎來了又一次的期末考試。雖然每學期都要考試,但是這次期末考試對小明來說意義重大。因為小明的女神媽媽說,如果小明這次考了全班前三名就給他買一臺筆記本電腦。雖說小明沒有十足的信心,但是女神媽媽的話不能不聽啊。
考完試后,小明拿到了全班的成績單,這張成績單是按學號順序排好的。小明很想知道班里到底有多少人分數比他高,現在就請你幫幫他,幫他數一下到底有多少人的分數比他高吧。
輸入格式
輸入數據的第一行是一個正整數T,表示測試數據的組數,接下來有T組測試數據。
每組數據包括兩行。
第一行有兩個正整數N,K(0<N<1000,0<K<=N),分別表示成績單上總共的學生數目,和小明的學號。
第二行有N個整數Xi(0<=Xi<=100)分別表示各個學生的成績,以學號遞增順序給出,第一個學生學號為1。
輸出格式
對于每組數據,請在一行里輸出班里一共有多少個學生成績高于小明。
輸入/輸出例子1
輸入:
1
3 2
81 72 63
輸出:
1
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long n,x,y,a[20000];
int main(){cin>>n;for(int i=1;i<=n;i++){int s=0;cin>>x>>y;for(int j=1;j<=x;j++)cin>>a[j];for(int j=y-1;j>=1;j--)if(a[j]>a[y])s++;for(int j=y+1;j<=x;j++)if(a[j]>a[y])s++;cout<<s<<endl;for(int j=1;j<=x;j++)a[j]=0;}return 0;
} 已知一個數列的前幾個數是:?1,?1,?2,?3,?5,?8,?13,?21,…..?編程實現輸入一個整數N,輸出第N項是多少。例如輸入4?輸出3。N小于等于20。
輸入格式
輸入t ,隨后輸入t個要查找的數
輸出格式
t行,分別表示要查找的數
輸入/輸出例子1
輸入:
5
1
2
3
4
5
輸出:
1
1
2
3
5
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long n,a[100000],x;
int main(){cin>>n;a[1]=1,a[2]=1;for(int i=3;i<=100000;i++)a[i]=a[i-1]+a[i-2];for(int i=1;i<=n;i++){cin>>x;cout<<a[x]<<endl;}return 0;
} N個小朋友手拉手站成一個圓圈,從第一個小朋友開始循環報數,報到M的那個小朋友退到圈外,然后他的下一位重新報"1"。這樣繼續下去,直到最后只剩下一個小朋友,他原來站在什么位置上呢?
輸入格式
僅一行,有兩個數N和M,其中N表示小朋友的人數,M表示報到數。1<N<1000,M<=N
輸出格式
僅一個數,留下的小朋友的編號。
輸入/輸出例子1
輸入:
8 3
輸出:
7
代碼如下:
#include<bits/stdc++.h>
using namespace std;
int n,z,s=0;
int main()
{cin>>n>>z;for(int i=2;i<=n;i++)s=(s+z)%i;s++;cout<<s;return 0;
} Bessie把N(1≤N≤100)粒藍色和橙色的珠子連成了一串,問有多少對珠子(相鄰的)是不同顏色的。
輸入格式
第一行,一個整數N;
第二行,N個數字(0或1),其中0表示橙色,1表示藍色。
輸出格式
輸出相鄰兩粒珠是不同顏色的對數。
輸入/輸出例子1
輸入:
6
1 0 0 1 1 1
輸出:
2
輸入/輸出例子2
輸入:
3
1 1 0
輸出:
2
?代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long n,a[105],s;
int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<n;i++)if(a[i]!=a[i+1])s++;if(a[1]!=a[n])s++;//因為珠子是圓形的,所以還要特殊判斷一下cout<<s;return 0;
}
一年一度的NH小學生程序設計比賽結束啦!組委會公布了所有學生的成績。現在HuangYongCong想設計一個程序,先將成績從高到低排,成績相同則按年級從低到高排,然后查詢每個學生有多少人的排名比他高并且年級還低于他?
輸入格式
一行一個正整數n(1<=n<=200),表示參賽人數。
第2~n+1行,每行兩個正整數,s(0<=s<=400)、g(1<=g<=6),之間用一個空格隔開,分別表示學生的成績和年級。
輸出格式
n行,每行只有一個正整數,其中第i行表示排第i名的學生前面有k個學生排名比他高,且年級比他低。
輸入/輸出例子1
輸入:
5
300? 5
200? 6
350? 4
400? 6
250? 5
輸出:
0
0
1
1
3
代碼如下:
#include<bits/stdc++.h>
using namespace std;
int n,a[205],b[205];
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i]>>b[i];}for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(a[i]<a[j]){swap(a[i],a[j]);swap(b[i],b[j]);}if(a[i]==a[j]){swap(a[i],a[j]);if(b[i]>b[j])swap(b[i],b[j]);}}}for(int i=1;i<=n;i++){int s=0;for(int j=1;j<=i;j++)if(b[i]>b[j])s++;cout<<s<<endl;}return 0;
}
為了提高大家的信息學水平,WU老師連同一些優秀同學建立了一個校內C++題庫。題庫中目前只有n道題,第i道題的難易程度用ti表示,這n道題目根據易到難的順序已排好。現在ZhangHu同學設計了m道難度為dj的題目,WU老師準備人他把這m道題都放到題庫中,使得題庫中的題目仍然是又易到難的順序排好的。
輸入格式
第一行,兩個整數n,m。
第二行,n個正整數ti,表示題庫中每道題的難度。
第三行,m個正整數dj,表示待插入的每道題的難度。
1<=ti<=32767 , 1<=dj<=32767 , 1<=n<=1000 , 1<=m<=1000。
輸出格式
一行,若干個用空格隔開的正整數,表示插入新題后題庫的試題難度情況。
輸入/輸出例子1
輸入:
5? 1
1? 1? 2? 3? 7
1
輸出:
1? 1? 1? 2? 3? 7
代碼如下:
#include<bits/stdc++.h>
using namespace std;
long long a[100005],n,m;
int main(){cin>>n>>m;for(int i=1;i<=n+m;i++)cin>>a[i];sort(a+1,a+n+m+1);for(int i=1;i<=n+m;i++)cout<<a[i]<<" ";return 0;
}