第一题import java.util.*;public class test { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); int k=in.nextInt(); int[] a=new int[100005]; int ai; int st=100005,ed=0; for(int i=0;i<n;i++){ ai=in.nextInt(); a[ai]=1; if(i==0) st=ai; if(i==n-1) ed=ai; } int moreDay=k-n,ans=0,kDay=0; TreeMap<Integer,Integer> kDayMap=new TreeMap<>(); for(int i=st-1;i<=ed+1;i++){ if(a[i]==0&amp;&amp;a[i+1]==1) { ans++; if(i<=st) continue; kDay++; if(kDayMap.containsKey(kDay)){ kDayMap.put(kDay,kDayMap.get(kDay)+1); }else kDayMap.put(kDay,1);// System.out.println(&quot;day:&quot;+i+&quot;kDay:&quot;+kDay); kDay=0; } else if(a[i]==1&amp;&amp;a[i+1]==0) { ans++; } else if(a[i]==0) kDay++; } Set<Integer> kDaySet=kDayMap.keySet();// System.out.println(kDaySet+&quot;/&quot;+ans+&quot;/&quot;+moreDay); for(int key:kDaySet){// System.out.println(key);// System.out.println(kDayMap.get(key)); int value=kDayMap.get(key); if(key*value<=moreDay){ moreDay-=key*value; ans-=value*2; }else { ans-=(moreDay/key)*2; moreDay=0; } if(moreDay==0) break;// System.out.println(&quot;key:&quot;+key+&quot; value:&quot;+value+&quot; moreday:&quot;+moreDay+&quot; ans:&quot;+ans); } System.out.println(ans);// System.out.println(moreDay);// System.out.println(kDayMap); in.close(); }}第二题来不及做打表#牛客创作赏金赛#