关于下面的要求:第一行为正整数n(<100),第二行为n个正整数ai(<200)

问题描述:
在黑板上从左到右有n个正整数,先从左向右依次计下累加和,再从右向左依次计下累加和,找出这所有累加和中共有多少个是相同。例如:有7个数,从左到右依次为:3,6,2,1,4,5,2,从左向右的累加和为:3,9,11,12,16,21,23;而从右向左的的累加和为:2,7,11,12,14,20,23;有3个值相同,它们分别是:11、12与23。
输入格式:
第一行为正整数n(<100),第二行为n个正整数ai(<200)。
输出格式:
一个整数表示相同的值个数。
输入样例
输出样例
7
3 6 2 1 4 5 2
3



一只甜甜圈
浏览 308回答 1
1回答

翻过高山走不出你

#include&nbsp;<iostream>&nbsp;#include&nbsp;<algorithm>&nbsp;#include&nbsp;<vector>&nbsp;#include&nbsp;<malloc.h>&nbsp;#include&nbsp;<stdio.h>&nbsp;using&nbsp;namespace&nbsp;std;&nbsp;vector&nbsp;<int>&nbsp;num;&nbsp;int&nbsp;*pUnion=(int&nbsp;*)malloc(sizeof(int)&nbsp;*200000);&nbsp;int&nbsp;i;&nbsp;int&nbsp;count_number;&nbsp;int&nbsp;main()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%d",&i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;j=0;&nbsp;j<i;&nbsp;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;number;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%d",&number);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num.push_back(number);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(pUnion+j)=number;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sort(pUnion,pUnion+i-1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sort(num.begin(),num.end());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;*pEnd=unique(pUnion,pUnion+i-1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;jian_ge=pEnd-pUnion;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(pUnion!=pEnd)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count_number=count(num.begin(),num.end(),*pUnion);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d&nbsp;%d\n",*pUnion,count_number);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pUnion++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP