数量
2016-03-07 20:34
246 查看
数量
时间限制:200 ms | 内存限制:65535 KB难度:0
描述
HJS大牛想去街上吃饭,街道旁边拴着很多狗,他想我堂堂......(省略n个字)岂会被狗咬,所以他很牛的从狗的面前经过,不管是否被上一条狗咬过,下次还会从狗的面前过(
J I A N)
现在问题来了,我们给狗编号从1...n,有多次询问,每次询问M,N这一段有多少狗咬过他有多少狗没有咬过他
输入输入有多组数据,每组数据有N,M代表N个狗,M次询问(n<=1000000)
接下来一行有n个数正数代表被狗咬,负数代表不咬,0代表不确定看心情,所以我们只计算确定的就可以了
接下来M行每行两个数a,b代表a到b这一段
输出每次查询输出一行,每行两个数中间有一个空格,分别代表咬人的狗的数量,没咬人的数量
样例输入
5 6 -1 -2 3 4 5 1 2 1 3 1 4 2 4 3 5 1 5
样例输出
0 2 1 2 2 2 2 1 3 0 3 2
来源原创
上传者
TC_蒋鑫博
源代码:
#include<stdio.h>
int a[1000005];
int yao[1000005];
int meiyao[1000005];
int main()
{
int m,n,i,q,t;
while(~scanf("%d%d",&m,&n))
{
yao[1000005]={0};
meiyao[1000005]={0};
for(i=1;i<=m;++i)
{
scanf("%d",&a[i]);
if(a[i]>0)
{
yao[i]=yao[i-1]+1;
meiyao[i]=meiyao[i-1];
}
if(a[i]<0)
{
meiyao[i]=meiyao[i-1]+1;
yao[i]=yao[i-1];
}
if(a[i]==0)
{
meiyao[i]=meiyao[i-1];
yao[i]=yao[i-1];
}
}
while(n--)
{
scanf("%d%d",&q,&t);
printf("%d %d\n",yao[t]-yao[q-1],meiyao[t]-meiyao[q-1]);
}
}
return 0;
}
相关文章推荐
- 游戏开发笔记(十)——移动功能设计
- JS正则表达式是否有字母数字特殊字符+strpos用法
- hdoj--5612--Baby Ming and Matrix games(dfs)
- 2.C语言数据类型
- NYOJ 92 图像有用区域 (经典的 bfs)
- JS返回顶部的几种方法
- hdoj--5612--Baby Ming and Matrix games(dfs)
- halo world ))) uva 10934 droping water
- MySQL批量SQL插入性能优化
- JS常用事件
- 操作系统相关资料之三
- 平时的小问题(一直更新渴求交流)
- Java中final、finally、finalize的区别
- PHP数据加密技术之一---MD5()和Sha1()加密
- bzoj3687: 简单题
- Item 24: 区分右值引用和universal引用
- java后台訪问url连接——HttpClients
- Java设计模式学习笔记(单例模式)
- android 学习笔记之20160307自定义对话框
- dfs(顺便求一下每个节点的儿子节点喽)