关注
/** cin: 2 5 5 10 15 20 30 4 30 3 34 cout: 0 4 **/ #include<iostream> #include<vector> #include<algorithm> using namespace std; typedef struct{ int fighting; int hunger; int index; int blance; }pandas; bool cmp(pandas a, pandas b){ if (a.fighting > b.fighting){ return true; } return false; } bool cmpindex(pandas a, pandas b){ if (a.index < b.index){ return true; } return false; } int main(){ int n, m; cin >> n >> m; vector<int> sugar(m); for (int i = 0; i<m; i++){ cin >> sugar[i]; } sort(sugar.begin(), sugar.end()); vector<bool> sugarflag(m,true); vector<pandas> pand(n); for (int i = 0; i<n; i++){ cin >> pand[i].fighting >> pand[i].hunger; pand[i].index = i; pand[i].blance = 0; } sort(pand.begin(), pand.end(), cmp); int sum; for (int i = 0; i <n; i++){ sum = 0; int j = m-1; while (j >= 0){ if (sugarflag[j]){ if ((sum + sugar[j]) == pand[i].hunger){ sum += sugar[j]; sugarflag[j] = false; break; } if (sugar[j]>pand[i].hunger){ j--; continue; } if ((sum + sugar[j])>pand[i].hunger){ j--; continue; } sum += sugar[j]; sugarflag[j] = false; j--; } j--; } pand[i].blance = pand[i].hunger - sum; } sort(pand.begin(), pand.end(), cmpindex); for (int i = 0; i < n; i++){ cout << pand[i].blance << endl; } return 0; }
查看原帖
点赞 评论
牛客热帖
更多
正在热议
更多
# 考研对你找工作产生了哪些影响? #
11476次浏览 119人参与
# 找实习你看重大厂光环还是业务方向 #
5559次浏览 49人参与
# 聊聊这家公司值得去吗 #
250544次浏览 2311人参与
# 摸鱼被leader发现了怎么办 #
57603次浏览 342人参与
# 职场捅娄子大赛 #
365612次浏览 3750人参与
# 大家实习每天都在干啥 #
81026次浏览 499人参与
# 实习想申请秋招offer,能不能argue薪资 #
139712次浏览 889人参与
# 我是XXX,请攻击我最薄弱的地方 #
28231次浏览 278人参与
# 打杂的实习你会去吗? #
110825次浏览 966人参与
# kpi面有什么特征 #
39121次浏览 320人参与
# 机械人晒出你的简历 #
76101次浏览 635人参与
# 我发现一个规律 #
7987次浏览 70人参与
# 电信求职进展汇总 #
9266次浏览 79人参与
# 你有哪些缓解焦虑的方法? #
6770次浏览 231人参与
# 海康威视求职进展 #
79101次浏览 457人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
112024次浏览 1114人参与
# 为了找工作你投递了多少公司? #
16284次浏览 239人参与
# 校招第一份工作你干了多久? #
75344次浏览 367人参与
# 机械只有读研才有出路吗? #
20175次浏览 230人参与
# 硬件开发岗知多少 #
11447次浏览 116人参与