上海网站制作优化,app软件开发平台游戏,起网络公司名字大全,老网站改版启用二级域名题干#xff1a;
寻找唯一的萌妹
Description 又到了一年一度ACMer暑期留校集训的日子了#xff0c;目前一共有2n1个小萌新报名参加暑期集训#xff0c;其中2n个是帅哥#xff0c;只有1个萌妹子#xff0c;这是多么的悲催#xff01;由于暑期训练强度大#xff0c;坚持…题干
寻找唯一的萌妹
Description 又到了一年一度ACMer暑期留校集训的日子了目前一共有2n1个小萌新报名参加暑期集训其中2n个是帅哥只有1个萌妹子这是多么的悲催由于暑期训练强度大坚持下来可不是一件容易的事情DHG学长想到了一个巧妙的方法两个人组成一队两人互相鼓励互相监督直到集训顺利完成。然而只有具有相同抗压能力的两位同学才能组在一起并且这个唯一的萌妹子比较高傲不愿意和现有的2n个帅哥组队只想和下一个报名的同学组队。作为仍未报名的你想和这传说中的萌妹子组队要求你输出萌妹子的抗压能力值。
Input 第一行一个n(n1000000)
第二行2n1个数,表示每个小萌新的抗压能力值xi(-99999999xi99999999)。
Output 只输出一个数字表示萌妹的抗压能力值。
Sample Input 1
2
1 2 2 1 3
Sample Output 1
3Sample Input 2
1
-2 -2 1
Sample Output 2
1Hint
题目保证有正确答案 解题报告 这是集训队纳新的一道题目比赛时是用map做的。超时了。 其实用map也是可以的但是要用迭代器遍历或者mp[ a[i] ]这样遍历而不能从-99999999~~99999999这样遍历这不是作死吗。 TLE代码1040ms
#includeiostream
#includemap
#includelist
#includealgorithm
using namespace std;
listint lili;
bool cmp(const int a,const int b ) {return ab;
}
mapint,int mp;
int main()
{int n;int tmp;scanf(%d,n);nn*21;for(int i 1; in; i) {scanf(%d,tmp);if(mp[tmp]1) {listint :: iterator it;for(itlili.begin();it!lili.end(); it ) {if(*ittmp) break;}lili.erase(it);mp[tmp]0;}else {mp[tmp]1;lili.push_back(tmp);}}cout lili.front() endl;return 0;
}
TLE代码21272ms
#includeiostream
#includemap
#includelist
#includealgorithm
using namespace std;
listint lili;
bool cmp(const int a,const int b ) {return ab;
}
mapint,int mp;
int main()
{int n;int tmp;scanf(%d,n);nn*21;for(int i 1; in; i) {scanf(%d,tmp);if(mp[tmp]1) {mp.erase(tmp);}else {mp[tmp]1;}}mapint,int :: iterator it;for(itmp.begin();it!mp.end();it) {printf(%d\n,*it);}return 0;
}
wa代码1376ms
#includeiostream
#includemap
using namespace std;
//int a[100000000];
mapint,int mp;
int main()
{int n;int tmp;scanf(%d,n);nn*21;for(int i 1; in; i) {scanf(%d,tmp);mp[tmp];}for(int i 1; in; i) {if(mp[i]1) {printf(%d\n,i);break;}}return 0 ;
}
//2
//1 2 2 1 3
ac代码
#includeiostream
#includealgorithmusing namespace std;
int a[2000005];int main()
{int n;scanf(%d,n);nn*21;for(int i 1; in; i) {scanf(%d,a[i]);}sort(a1,an1); int cnt1;int tmpa[1];for(int i 2; in; i) {if(tmpa[i]) {cnt;}else {if(cnt1) {printf(%d,a[i-1]);return 0 ;}else {tmpa[i];cnt1;}}}printf(%d,a[n]);
//if(a[i]a[i-1]) {
// cnt;
// continue;
// }
// if( (cnt1) ) {
// printf(%d,a[i]);
// return 0;
// }
// cnt1;
// printf($dddd);return 0 ;}
总结 1.首先注意数组别开小 开一个1e6肯定上来就玩完了直接RE告辞。得开2e6啊这题 2.容器这东西很难说啊