Submission #331758

#TimeUsernameProblemLanguageResultExecution timeMemory
331758anishrajeevUntitled (POI11_tem)Java
16 / 100
1086 ms52732 KiB
import java.io.*;
import java.util.*;

public class tem {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        //BufferedReader bf = new BufferedReader(new FileReader("tester.in"));
        PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));
        int[] min = new int[1000000];
        int[] max = new int[1000000];
        int N = Integer.parseInt(bf.readLine());
        for(int i = 0; i < N; i++){
            StringTokenizer stk = new StringTokenizer(bf.readLine());
            min[i] = Integer.parseInt(stk.nextToken());
            max[i] = Integer.parseInt(stk.nextToken());
        }
        TreeSet<Integer> set = new TreeSet<>();
        HashMap<Integer, Integer> map = new HashMap<>();
        int left = 0;
        int right = 0;
        int counter = 1;
        int answer = 0;
        set.add(min[0]);
        map.put(min[0], 1);
        while(right < N){
            int highestmin = set.last();
            if(min[right+1]>=highestmin||highestmin<=max[right+1]){
                right++;
                counter++;
                if(set.contains(min[right]))map.replace(min[right], map.get(min[right])+1);
                else{
                    set.add(min[right]);
                    map.put(min[right], 1);
                }
            }
            else{
                map.replace(min[left], map.get(min[left])-1);
                if(map.get(min[left])==0){
                    set.remove(min[left]);
                    map.remove(min[left]);
                }
                counter--;
                if(right==left){
                    right++;
                    counter = 1;
                    set.add(min[left+1]);
                    map.put(min[left+1], 1);
                }
                left++;
            }
            answer = Math.max(answer, counter);
        }
        System.out.println(answer);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...