水题,但是我更水,查错查了好久,原来是更新时出错了,细节决定成败,以后一定要注意
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
long long f( long long A[], int n ) { // n = size of A
long long ans = 0;
for( int i = 0; i < n; i++ )
ans+= (n-1-i*2)*A[i];
return ans;
}
long long a[100010];
int main()
{
int i,j,t,k,m,n,h,x,y,q;
char ch[110];
scanf("%d",&t);
for(k=1;k<=t;k++)
{
scanf("%d%d",&n,&q);
printf("Case %d:\n",k);
for(i=0;i<n;i++)
scanf("%lld",&a[i]);
long long sum=f(a,n),v;
while(q--)
{
scanf("%d",&h);
if(h==1)
printf("%lld\n",sum);
else if(h==0)
{
scanf("%d%lld",&x,&v);
long long ll=n-1-x*2;
sum+=ll*(v-a[x]);
a[x]=v;//这里一开始忘了更新了,导致后面出错,坑死我了
}
}
}
return 0;
}
本文分享了一次在解决编程难题时,因忽视细节而导致错误的教训。作者通过具体实例展示了在复杂代码中,一个小小的疏忽可能导致整个程序运行失败。文章强调了在编程过程中关注细节的重要性,并提供了避免此类错误的方法。
2233

被折叠的 条评论
为什么被折叠?



