第二个与第三个测试点超时了,不知道问题在哪,求助
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a[30];
long long s=0;int n=0;
int i=0;
while(scanf("%d",&a[i])!=EOF)
{n++;i++;}
for(i=0;i<n;i++){
for(int j=0;j<pow(2,n-1);j++)
{s=s+a[i];}}
printf("%lld",s);
return 0;
}