結果:
本題目共 2 個測試點,您的程式共通過 1 個測試點。(score:50)
獲得部分分數 50 分。
錯誤訊息如下:
*** 第 1 點 (50%):AC (4ms, 744KB)
*** 第 2 點 (50%):WA (line:1)
您的答案為: 1887
正確答案為: 20156
程式碼:
#include <iostream>
using namespace std;
int input();
int input(){
int Var;
char Char;
while(Char=getchar()) if(Char!=' '&&Char!='\n') break;
Var=Char;
while(Char=getchar()){
if(Char==' '||Char=='\n') break;
Var=Var*10+Char-48;
}
return Var;
}
int main(){
int Nums;
while(scanf("%d", &Nums)==1){
int* Buffer=new int[Nums];
memset(Buffer, 0, Nums<<2);
int LeftIndex=0, RightIndex=Nums-1, EQ=0;
for(int a=0; a<Nums; ++a) Buffer[a]=input();
int SumLeft=Buffer[0], SumRight=Buffer[Nums-1];
while(LeftIndex<Nums && RightIndex>=0){
while(SumLeft>SumRight){ --RightIndex; SumRight+=Buffer[RightIndex]; }
while(SumLeft<SumRight){ ++LeftIndex; SumLeft+=Buffer[LeftIndex]; }
if(SumLeft==SumRight){
++EQ;
++LeftIndex;
--RightIndex;
SumLeft+=Buffer[LeftIndex];
SumRight+=Buffer[RightIndex];
}
}
printf("%d\n", EQ);
}
return 0;
}
結果:
本題目共 2 個測試點,您的程式共通過 1 個測試點。(score:50)
獲得部分分數 50 分。
錯誤訊息如下:
*** 第 1 點 (50%):AC (4ms, 744KB)
*** 第 2 點 (50%):WA (line:1)
您的答案為: 1887
正確答案為: 20156
程式碼:
#include
using namespace std;
int input();
int input(){
int Var;
char Char;
while(Char=getchar()) if(Char!=' '&&Char!='\n') break;
Var=Char;
while(Char=getchar()){
if(Char==' '||Char=='\n') break;
Var=Var*10+Char-48;
}
return Var;
}
int main(){
int Nums;
while(scanf("%d", &Nums)==1){
int* Buffer=new int[Nums];
memset(Buffer, 0, Nums<<2);
int LeftIndex=0, RightIndex=Nums-1, EQ=0;
for(int a=0; a
int SumLeft=Buffer[0], SumRight=Buffer[Nums-1];
while(LeftIndex=0){
while(SumLeft>SumRight){ --RightIndex; SumRight+=Buffer[RightIndex]; }
while(SumLeft
if(SumLeft==SumRight){
++EQ;
++LeftIndex;
--RightIndex;
SumLeft+=Buffer[LeftIndex];
SumRight+=Buffer[RightIndex];
}
}
printf("%d\n", EQ);
}
return 0;
}