問題描述:在黑板上從左到右有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)。輸出格式:一個整數表示相同的值個數。輸入樣例輸出樣例73 6 2 1 4 5 23
1 回答
翻過高山走不出你
TA貢獻1875條經驗 獲得超3個贊
#include <iostream> #include <algorithm> #include <vector> #include <malloc.h> #include <stdio.h> using namespace std; vector <int> num; int *pUnion=(int *)malloc(sizeof(int) *200000); int i; int count_number; int main() { scanf("%d",&i); for(int j=0; j<i; j++) { int number; scanf("%d",&number); num.push_back(number); *(pUnion+j)=number; } sort(pUnion,pUnion+i-1); sort(num.begin(),num.end()); int *pEnd=unique(pUnion,pUnion+i-1); int jian_ge=pEnd-pUnion; while(pUnion!=pEnd) { count_number=count(num.begin(),num.end(),*pUnion); printf("%d %d\n",*pUnion,count_number); pUnion++; } return 0; } |
添加回答
舉報
0/150
提交
取消
