Submission #1263218

#TimeUsernameProblemLanguageResultExecution timeMemory
1263218octopops5Exhibition (JOI19_ho_t2)Java
0 / 100
46 ms10656 KiB
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class joi2019_ho_t2 { public static void main(String[] args) throws Exception{ BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(bufferedReader.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); Map<Long, List<Long>> valuesToSize = new HashMap<>(); List<Long> values = new ArrayList<>(); for(int i = 0; i < n; i++){ st = new StringTokenizer(bufferedReader.readLine()); long size = Long.parseLong(st.nextToken()); long value = Long.parseLong(st.nextToken()); if(valuesToSize.containsKey(value)){ valuesToSize.get(value).add(size); }else { values.add(value); List<Long> r = new ArrayList<>(); r.add(size); valuesToSize.put(value, r); } } for(int i = 0; i < values.size(); i++){ Collections.sort(valuesToSize.get(values.get(i))); } List<Long> frameSize = new ArrayList<>(); for(int i = 0; i < m; i++){ frameSize.add(Long.parseLong(bufferedReader.readLine())); } Collections.sort(values); Collections.sort(frameSize); int frameIndex = frameSize.size() - 1; int count = 0; boolean b = false; for(int i = values.size() - 1; i >= 0; i--){ for(int j = valuesToSize.get(values.get(i)).size() - 1; j >= 0; j--){ if(frameIndex < 0){ break; } if(count == 0){ //if fits then put it in, or iterate until it fits while(valuesToSize.get(values.get(i)).get(j) > frameSize.get(frameIndex)){ frameIndex--; if(frameIndex < 0){ b = true; break; } } if(b){ break; } count++; frameIndex--; continue; } if(valuesToSize.get(values.get(i)).get(j) <= frameSize.get(frameIndex)){ // if it fits in the frame count++; frameIndex--; } } if(b){ break; } } System.out.println(count); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...