poj 2189 Romeo Meets Juliet

来源:互联网 发布:淘宝店铺全屏导航 编辑:程序博客网 时间:2024/05/29 13:05

水题 练2分 N平方也一样过

import java.util.*;import java.io.*;class problem11{    int n,p,c;    int arr[];    int sum[];    void solver() throws IOException{        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));        StringTokenizer st = new StringTokenizer(reader.readLine());        n = Integer.parseInt(st.nextToken());        p = Integer.parseInt(st.nextToken());        c = Integer.parseInt(st.nextToken());        arr = new int[p+1];        sum = new int[p+1];        for(int i=1;i<=n;i++){        int tmp = Integer.parseInt(reader.readLine().trim());        arr[tmp]++;        }        for(int i=1;i<=p;i++){        sum[i] = arr[i];        sum[i] += sum[i-1];        }        int l=1, r=p-1,result=0;        while(l<=r){        int mid = (l+r)/2;        if(!is_ok(mid)){        r = mid-1;        }else{        l = mid+1;        result=mid;        }        }        System.out.println(result);    }    boolean is_ok(int len){    for(int i=len;i<p;i++){    if(sum[i]-sum[i-len]<=c) return true;    }    return false;    }}public class fence8{    public static void main (String [] args) throws Exception {    problem11 p = new problem11();        p.solver();    }}


0 0
原创粉丝点击