“麻雀”lengdan用随机数生成了后台数据,但是笨笨的他被妹纸的问题给难住了。。。

已知lengdan生成了N(1=<N<=10005)个随机整数,妹子对这些数可能有以下几种操作或询问:

1,A a b c 表示给区间a到b内每个数都加上c;

2,S a b  表示输出区间a到b内的和;

3,Q a b 表示区间a到b内的奇数的个数;

为了使妹纸不口渴,所以我们决定妹纸的询问次数少一点,即(1=<M<=10000,M为询问次数)。

唉,你说妹纸一直进行操作1该多好啊,嘎嘎。。。

 
输入
多组测试数据。
每组测试数据第一行包含两个数N,M,表示N个整数,执行M次询问或操作。
紧接着一行输入N个整数,输入数据保证在int范围内。
接下来M行,每行输入一种操作。
输出
每次对于操作2和3,输出结果。
样例输入
5 5
1 2 3 4 5
Q 1 4
S 1 5
A 1 4 1
S 1 5
Q 2 5
样例输出
2
15
19
3
public class Main {
static String data;
public static int jud(String data1,String cz){
String[] s = data1.split(" ");
String[] c = cz.split(" ");
int res = 0;
if (c.length==4) {
for (int i = Integer.parseInt(c[1])-1; i <= Integer.parseInt(c[2])-1; i++) {
s[i] = (Integer.parseInt(s[i])+Integer.parseInt(c[3]))+"";
}
data = Integer.parseInt(s[0])+" ";
for (int i = 1; i < s.length; i++) {
data = data+Integer.parseInt(s[i])+" ";
}
res=-1;
}
else{
if (c[0].equals("Q")) {
int num=0;
for (int i = Integer.parseInt(c[1])-1; i <= Integer.parseInt(c[2])-1; i++) {
if (Integer.parseInt(s[i])%2==1) {
num++;
}
}
res=num;
}
if (c[0].equals("S")){
int num=0;
for (int i = Integer.parseInt(c[1])-1; i <= Integer.parseInt(c[2])-1; i++) {
num+=Integer.parseInt(s[i]);
}
res=num;
}
}
return res;
}
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
int m;
String al = buf.readLine();
String[] s = al.split(" ");
m = Integer.parseInt(s[1]);
data = buf.readLine();
String r = "";
for (int i = 0; i < m; i++) {
if (i==0) {
r = jud(data,buf.readLine())+"";
}
else { r = r+"@"+jud(data,buf.readLine());
}
}
String[] sc = r.split("@");
for (int i = 0; i < sc.length; i++) {
if (!sc[i].equals("-1")) {
System.out.println(sc[i]);
}
}
}
}

  

最新文章

  1. Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
  2. webapi+entityframework分享
  3. .net学习笔记----Asp.net的生命周期之一应用程序生命周期
  4. asp.net 程序,单击按钮时 同时实现打开页面并处理值
  5. linux 和 ecos 内核线程创建/信号量/event等对比
  6. HNU13377:Book Club 二分图
  7. liunx下NetworkManager导致网卡不能启动
  8. android 强制设置横屏 判断是横屏还是竖屏
  9. Java解决Hanoi问题
  10. 各种电脑进入BIOS快捷键
  11. Go的安装
  12. 8. Security-oriented operating systems (面向安全的操作系统 5个)
  13. 反爬虫——使用chrome headless时一些需要注意的细节
  14. luogu3621 城池攻占 (倍增)
  15. apache的bin目录下的apxs有什么作用? PHP模块加载运行方式
  16. Linux 命令之sed
  17. 腾讯/阿里/百度 BAT人才体系的职位层级、薪酬、晋升标准
  18. 导出文件在IE和火狐中文件名乱码问题的解决
  19. [转]什么是C++虚函数、虚函数的作用和使用方法
  20. 【iOS XMPP】使用XMPPFramewok(四):收发消息

热门文章

  1. 剑指Offer - 开始没做出来 —— 验证后序序列是否正确
  2. OJ(Online Judge)
  3. 正则表达式lookahead and lookbehind zero-length assertions
  4. C++入门学习——模板
  5. 制作NGUI动态字体
  6. missing required source folder
  7. 【Beijing 2010】 次小生成树
  8. 洛谷 P1969 积木大赛 —— 水题
  9. Java应用程序中的声音播放
  10. Spark 决策树--分类模型