CCF除法80分(Java)

2020-04-12  本文已影响0人  巨鹿lx

用最笨的方法,拿到第五题的80分,我是想不到的

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class Main{
    private static String[] s;
    static int N = 100010;
    static int a[] = new int[N];
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        s = br.readLine().split(" ");
        int n = Integer.parseInt(s[0]);
        int m = Integer.parseInt(s[1]);
        s = br.readLine().split(" ");
        for(int i = 1 ; i <= n ; i++) {
            a[i] = Integer.parseInt(s[i-1]);
        }
        while(m-->0) {
            s = br.readLine().split(" ");
            int x = Integer.parseInt(s[0]);
            if(x==1) {
                int l = Integer.parseInt(s[1]);
                int r = Integer.parseInt(s[2]);
                int v = Integer.parseInt(s[3]);
                process(l,r,v);
            }else {
                int l = Integer.parseInt(s[1]);
                int r = Integer.parseInt(s[2]);
                long sum = 0;
                for(int i = l; i <=r;i ++) {
                    sum+=a[i];
                }
                bw.write(sum+"\n");
            }
        }
        bw.flush();
    }
    private static void process(int l, int r, int v) {
        for(int i = l; i <=r;i ++) {
            if(a[i]%v==0) {
                a[i] /=v; 
            }
        }
    }
    
}

上一篇 下一篇

猜你喜欢

热点阅读