P1083 [NOIP2012 提高组] 借教室JAVA

P1083 [NOIP2012 提高组] 借教室JAVA,第1张

[NOIP2012 提高组] 借教室 - 洛谷

对答案进行二分,因为多次在一个区间加上一个数,所以我们可以使用差分,最后对差分数组求前缀和判断是否满足要求

import javax.jws.Oneway;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.Arrays;

class Main{
    static int n, m;
    static int[] classroom;
    static long[]dif;
    static int[][] section;
    public static void main(String[] args) throws IOException {
        StreamTokenizer cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        cin.nextToken();
        n = (int)cin.nval;
        cin.nextToken();
        m = (int)cin.nval;
        classroom = new int[n];
        for(int i=0;i>1;
            if(!isOk(mid)){
                res=mid;
                h=mid-1;
            }
            else
                l=mid+1;
        }
        System.out.println("-1\n"+(res+1));
    }
    public static boolean isOk(int day){
        Arrays.fill(dif,0);
        for(int i=0;i<=day;i++){
            dif[section[i][1]-1]+=section[i][0];
            dif[section[i][2]]-=section[i][0];
        }
        for(int i=0;i

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/942056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)