微信小游戏开发的市场前景与创新策略探讨
748
2022-11-17
Codeforces 1396 A
传送门
题目大意
由n个正整数组成的数组a,执行下面操作三次后使得数组a元素全部变成0 选取一段区间[l.r],区间内的每个数都可以加上或减去区间长度(r-l+1)的倍数 输出这三次操作选取的区间及区间内每个数字变为几
思路
n=1时特判 当n>=2时,选取区间[2,n],使得每个数字都变成n的倍数就好,即a[i]*(n-1)+a[i]就是n的倍数
ll a[maxn];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } if(n==1) { printf("1 1\n"); printf("%lld\n",-a[1]); printf("1 1\n"); printf("0\n"); printf("1 1\n"); printf("0\n"); return 0; } printf("1 1\n"); printf("%lld\n",-a[1]); a[1]=0; printf("2 %d\n",n); for(int i=2;i<=n;i++){ printf("%lld ",a[i]*(n-1)); a[i]=a[i]*n; } puts(""); printf("1 %d\n",n); for(int i=1;i<=n;i++){ printf("%lld ",-a[i]); } puts(""); return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~