計蒜客 煩惱的高考志願題解
題目連線:https://nanti.jisuanke.com/t/T1874
題目
題面
計算機競賽小組的蒜頭君終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任給了他一個艱鉅的任務:幫同學找出最合理的大學填報方案。可是蒜頭君太忙了,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。
根據 n 位學生的估分情況,分別給每位學生推薦一所學校,要求學校的預計分數線和學生的估分相差最小(可高可低,畢竟是估分嘛),這個最小值為不滿意度。求所有學生不滿意度和的最小值。
輸入格式
輸出格式
輸出資料有一行,為最小的不滿度之和。
樣例
樣例輸入
4 3
513 598 567 689
500 600 550
樣例輸出
32
···································一條華麗的分割線···································
思路
就是二分!!!
標程
#include<bits/stdc++.h>
using namespace std;
int n,m,x[100001],y;
long long ans;
// freopen("exam.in","r",stdin);
// freopen("exam.out","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>x[i];
sort(x+1,x+n+1);
while(m--){
cin>>y;
int l=0,r=n+1;
while(l<r){
int mid=(l+r)>>1;
if(x[mid]<=y)l=mid+1;
else r=mid;
}
if(y<=x[1])ans+=x[1]-y;
else ans+=min(abs(x[l-1]-y),abs(x[l]-y));
}
cout<<ans<<endl;
return 0;
}
然而……
似乎一(億)點問題
測評資訊
================================================
測評用例 1:正確通過 [1.000 毫秒,824 KB]
---------------------------
測評用例 2:正確通過 [1.000 毫秒,824 KB]
---------------------------
測評用例 3:正確通過 [1.000 毫秒,824 KB]
---------------------------
測評用例 4:正確通過 [31.000 毫秒,824 KB]
---------------------------
測評用例 5:正確通過 [33.000 毫秒,824 KB]
---------------------------
測評用例 6:正確通過 [29.000 毫秒,824 KB]
---------------------------
測評用例 7:正確通過 [32.000 毫秒,824 KB]
---------------------------
測評用例 8:正確通過 [18.000 毫秒,824 KB]
---------------------------
測評用例 9:答案錯誤 [48.000 毫秒,824 KB]
用例輸入:
100000 100000
79808 438278 497258 569994 60803 426031 660311 67857 808358 728753 839982 886334……
531664 661391 452414 199274 618734 170720 842030 385999 380027 680768 94886 5991……
用例正確輸出:
500200
你的輸出:
500173
---------------------------
測評用例 10:正確通過 [48.000 毫秒,824 KB]
結果
================================================
共 10 組測評用例,通過 9 組。
總分
================================================
9
真正的標程
#include<bits/stdc++.h>
using namespace std;
long long p1,p2,d1,d2,ans,x,num[1100000],n,m;
int main(){
// freopen("exam.in","r",stdin);
// freopen("exam.out","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>m>>n;
for(int i=0;i<m;i++)cin>>num[i];
sort(num,num+m);
while(n--){
cin>>x;
p1=lower_bound(num,num+m,x)-num;p2=p1-1;d1=d2=20000000;
if(p1!=m)d1=num[p1]-x;
if(p2!=-1)d2=x-num[p2];
ans+=min(d1,d2);
}
cout<<ans<<endl;
return 0;
}
完美AC
不要臉的求贊+關注+收藏
相關文章
- 盯上高考志願填報,夸克的搜尋野心
- 【高考填志願】智慧製造專業怎麼樣?
- [HNOI2008]明明的煩惱
- 歷屆試題 國王的煩惱(並查集)並查集
- 程式碼模擬重慶高考平行志願錄取過程
- 計蒜客:騎車比賽(Dijkstra)
- 計蒜客:最甜的蘋果(線段樹)蘋果
- 【藍橋杯】計蒜客2017模擬賽A習題整理
- 擺脫詳情頁設計的文案排版困難!解決你的設計煩惱!
- 科技愛好者週刊(第 118 期):高考志願怎麼填
- 計蒜客 移除陣列中的重複元素陣列
- 2010.03.16專題:一個開發人員的專案煩惱
- 計蒜客:農場看守(DFS、尤拉回路)
- I - Max answer 計蒜客 - 38228 單調棧
- 計蒜客 - T1342 - 雞兔同籠
- 農商行數字化轉型的煩惱
- 重磅出擊!介面測試利器,為解決你的煩惱而生
- 你在為什麼煩惱著
- 如何用極低成本解決網站託管煩惱?網站
- 計蒜客 - T1151 - 奇數單增序列
- 【計蒜客】2017藍橋杯模擬賽(四)
- bzoj3280: 小R的煩惱(費用流)
- 智慧電銷坐席海量外呼I解決銷售煩惱
- 你還在為元件文件煩惱嗎?元件
- 工程師如何解決穿衣搭配煩惱?工程師
- 程式碼填空:組合數字 計蒜客 - A1145
- 在你身邊你左右 --函數語言程式設計別煩惱函數程式設計
- 在你身邊你左右 –函數語言程式設計別煩惱函數程式設計
- 高考勵志句子唯美簡短
- C - Digital Path 計蒜客 - 42397(dp記憶化搜尋)Git
- 2024志願填報
- 一鍵解決Android專案圖片壓縮煩惱,為apk瘦身!AndroidAPK
- 免費API介面集合, 讓你的開發無煩惱API
- 新 金 寶 a p p 17176934555 努牘煩惱歌
- 贈送天翼雲電腦,解決一點園子的商業化煩惱
- 不用費勁,這5款效率工具為你解決學習工作煩惱
- 還在為部署Vue SSR煩惱?Koa-vuessr-middlware 瞭解一下Vue
- B - 結果填空:炮臺實驗 計蒜客 - A2222(沒理解)