Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) A(贪心)
2017-02-24 11:47
513 查看
A. Oath of the Night’s Watch
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
“Night gathers, and now my watch begins. It shall not end until my death. I shall take no wife, hold no lands, father no children. I shall wear no crowns and win no glory. I shall live and die at my post. I am the sword in the darkness. I am the watcher on the walls. I am the shield that guards the realms of men. I pledge my life and honor to the Night’s Watch, for this night and all the nights to come.” — The Night’s Watch oath.
With that begins the watch of Jon Snow. He is assigned the task to support the stewards.
This time he has n stewards with him whom he has to provide support. Each steward has his own strength. Jon Snow likes to support a steward only if there exists at least one steward who has strength strictly less than him and at least one steward who has strength strictly greater than him.
Can you find how many stewards will Jon support?
Input
First line consists of a single integer n (1 ≤ n ≤ 105) — the number of stewards with Jon Snow.
Second line consists of n space separated integers a1, a2, …, an (0 ≤ ai ≤ 109) representing the values assigned to the stewards.
Output
Output a single integer representing the number of stewards which Jon will feed.
Examples
input
2
1 5
output
0
input
3
1 2 5
output
1
Note
In the first sample, Jon Snow cannot support steward with strength 1 because there is no steward with strength less than 1 and he cannot support steward with strength 5 because there is no steward with strength greater than 5.
In the second sample, Jon Snow can support steward with strength 2 because there are stewards with strength less than 2 and greater than 2.
题意:N代表接下来一行有N个数字,找出满足条件的数字X,条件是给定序列中既有比X小的数也有比X大的数,求出满足条件的X的数量。
思路:给定序列排个序,左右两头指针向中间扫描,直至遇到首个满足条件的数停止。
代码:
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
“Night gathers, and now my watch begins. It shall not end until my death. I shall take no wife, hold no lands, father no children. I shall wear no crowns and win no glory. I shall live and die at my post. I am the sword in the darkness. I am the watcher on the walls. I am the shield that guards the realms of men. I pledge my life and honor to the Night’s Watch, for this night and all the nights to come.” — The Night’s Watch oath.
With that begins the watch of Jon Snow. He is assigned the task to support the stewards.
This time he has n stewards with him whom he has to provide support. Each steward has his own strength. Jon Snow likes to support a steward only if there exists at least one steward who has strength strictly less than him and at least one steward who has strength strictly greater than him.
Can you find how many stewards will Jon support?
Input
First line consists of a single integer n (1 ≤ n ≤ 105) — the number of stewards with Jon Snow.
Second line consists of n space separated integers a1, a2, …, an (0 ≤ ai ≤ 109) representing the values assigned to the stewards.
Output
Output a single integer representing the number of stewards which Jon will feed.
Examples
input
2
1 5
output
0
input
3
1 2 5
output
1
Note
In the first sample, Jon Snow cannot support steward with strength 1 because there is no steward with strength less than 1 and he cannot support steward with strength 5 because there is no steward with strength greater than 5.
In the second sample, Jon Snow can support steward with strength 2 because there are stewards with strength less than 2 and greater than 2.
题意:N代表接下来一行有N个数字,找出满足条件的数字X,条件是给定序列中既有比X小的数也有比X大的数,求出满足条件的X的数量。
思路:给定序列排个序,左右两头指针向中间扫描,直至遇到首个满足条件的数停止。
代码:
#include<stdio.h> #include<iostream> #include<algorithm> #include<math.h> #include<string.h> using namespace std; const int maxn=100005; int num[maxn]; int main() { int N; scanf("%d",&N); for(int i=1;i<=N;i++) scanf("%d",&num[i]); sort(num+1,num+N+1); int left=1,right=N; while(left<=right&&num[left+1]==num[left]) left++; while(right>=left&&num[right-1]==num[right]) right--; int result=right-left+1; if(result>=3) printf("%d\n",result-2); else printf("0\n"); return 0; }
相关文章推荐
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B. Code For 1
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B. Code For 1(DFS好题)
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) A B 水 搜索
- 【Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B】 Code For 1
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) D. Jon and Orbs
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) C - Jon Snow and his Favourite Number
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined)
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) F
- 【找规律】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) B. Code For 1
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined)
- 【基数排序】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) C. Jon Snow and his Favourite Number
- 【概率dp】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) D. Jon and Orbs
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) E
- 【博弈论】【SG函数】【找规律】Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) E. Game of Stones
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) A. Oath of the Night's Watch
- Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined)
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) A map B贪心 C思路前缀
- Editorial Divide by Zero and Codeforces Round #399 (Div. 1+2, combined) (A~F)
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) D. The Door Problem 2-SAT
- Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined)