热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_56645631
苏哈哈462
4 年前
trueweixin_56645631

#701-B
思路:推公式;
#include<stdio.h>
int ai[100010];
int main()
{
int n,q,k;
scanf("%d%d%d",&n,&q,&k);
for(int i=1;i<=n;i++)
{
scanf("%d",&ai[i]);
}
while(q--)
{
int li,ri;
scanf("%d%d",&li,&ri);
int ans=ai[ri]+ai[ri-1]-ai[li]-ai[li+1]-2*(ri-li-1);
ans+=ai[li+1]-2;
ans+=k-ai[ri-1]-1;
printf("%d\n",ans);
}
return 0;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
#701 A思路:如果b>a那么只要做一次第一个操作就好,如果a==b那么进行2次操作就好,如果a>b那么考虑遍历一下从b开始到b+100,遍历看哪次次数最少就好#include<stdio.h>int ma(int a,int b){ int ans=0; while(a) { a/=b; ans++; } return ans;}int main(){ int t; scanf("%d",&t); while(t--) { int a,b; scanf("%d%d",&a,&b); int res=0; if(b>a)res=1; else if(b==a)res=2; else { if(b==1) { res++; b++; } int mi=0x3f3f3f3f; for(int i=b;i<b+100;i++) { int o=ma(a,i); o+=res; if(o<mi)mi=o; res++; } res=mi; } printf("%d\n",res); } return 0;}
立即登录