NYOJ水题题解-108士兵杀敌(一)
来源:互联网 发布:公安局网络借贷监管 编辑:程序博客网 时间:2024/06/11 21:48
题目:题目108
开始想的是用常规方法加:
#include<iostream>#include <math.h>#include<stdlib.h>using namespace std;int kill[1000005];int main(){int N,M,i,m,n,ans;cin >> N >> M;for (i = 0; i < N; i++)cin >> kill[i];while (M--){ans = 0;cin >> m>>n;for (i = m-1; i < n; i++){ans += kill[i];}cout << ans << endl;}return 0;}
因为每给一个范围都要进行大片的加法,所以会导致超时。于是找题解找到一种方法优化了代码。
思路:在输入每一个士兵kill值时,累加,用s数组存储前i项和
当然,iostream.h也是超时,太严苛了2333,把cin,cout都放弃了就ac了
#include<stdio.h>int kill[1000005],s[1000005];int main(){int N,M,i,m,n;scanf("%d %d", &N, &M);s[0] = 0;for (i = 1; i <= N; i++){scanf("%d", &kill[i]);s[i] = s[i - 1] + kill[i];}while (M--){scanf("%d %d", &m, &n);printf("%d\n", s[n] - s[m - 1]);}return 0;}
0 0
- NYOJ水题题解-108士兵杀敌(一)
- NYOJ---108--士兵杀敌(一)
- nyoj 108 士兵杀敌(一)
- nyoj-108-士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ-108士兵杀敌(一)
- nyoj 108 士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ 题目108士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ-108-士兵杀敌(一)
- nyoj 108士兵杀敌(一)
- NYOJ-108-士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ-108 士兵杀敌(一)
- build-essential与libssl-dev安装
- MTK CCT之CAMERA TUNNING调试学习总结
- 【好文推荐】并发性能优化 : 降低锁粒度
- Android FragmentManage FragmentTransaction介绍
- C# Winform 无弹窗打印实例
- NYOJ水题题解-108士兵杀敌(一)
- Android Camera 使用小结
- 【HDU】-2120-Ice_cream's world I(并查集,环)
- Codeforces 237E Build String 【费用流】
- 转 Objective-C Method Swizzling 友盟统计
- 目标融合之 ——并查集(Disjoint Sets)||(Union Find Sets)
- HTML简单的游戏引擎实现第一篇
- 安装nginx
- 将xml代码或文件转为plist文件(xcode)