茸茸鹿 2015-07-29 09:03 采纳率: 100%
浏览 2698
已采纳

为什么这题用 int 就超时,用 long long 就是正确的

题目链接是:http://codeforces.com/problemset/problem/484/A
我的代码的链接是:http://codepad.org/1U9HLfXD
代码的第7行 ,我原本是写 int a[300];然后在OJ上提交后显示 超时;
后来 改成 long long a[300];后就被AC了。
我觉得在这道题目中 数组a的每个元素的值并不大,为什么不能用int呢?

  • 写回答

6条回答 默认 最新

  • 丵鹰 2015-07-29 09:22
    关注

    int arr[100];定义了数组arr,包含100个元素,如果你写成int arr[100]=0;想将数组全部内容初始化为0,是不行的,连编译都不能通过。这种情况的初始化,有两种方法,一种是一个一个的初始化,如for(int i=0;i<100;i++)arr[i]=0;就完成了数组的初始化。另一种方法,就是使用memset:一个语句就够了--memset(arr,0,sizeof(int)*100);
    各参数解释如下:arr是数组的首地址,0就是要讲这些地址的内容赋值为0,sizeof(int)求出int类型的长度,乘以100就表示arr数组的整个长度。

    文章http://blog.csdn.net/ypb455360299/article/details/6412923

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料