開啟章節選單
1203 Argus
程式碼
#include <bits/stdc++.h> using namespace std; #define int long long #define idonthavegirlfriend ios::sync_with_stdio(0),cin.tie(0); #define pb push_back #define yn(a) (a?"Yes\n":"No\n") //author:Jackis666 bool cmp(pair<int,int> a,pair<int,int> b){ if(a.second==b.second){return a.first<b.first;} return a.second<b.second; } signed main(){ idonthavegirlfriend string s; vector<pair<int,int>> a; while(cin>>s,s!="#"){ int aa,bb; cin>>aa>>bb; a.pb({aa,bb}); } int k; cin>>k; vector<pair<int,int>> ans; for(int i=0;i<k;i++){ for(int j=0;j<a.size();j++){ ans.pb({a[j].first,(i+1)*a[j].second}); } } sort(ans.begin(),ans.end(),cmp); for(int i=0;i<k;i++){cout<<ans[i].first<<endl;} }
//author: Piau #include <bits/stdc++.h> using namespace std; #define WA() cin.tie(0)->sync_with_stdio(0) #define all(x) (x).begin(), (x).end() #define int long long #define TIII tuple<int, int, int> signed main() { WA(); string s; priority_queue<TIII, vector<TIII>, greater<TIII>> pq; while (getline(cin, s), s != "#") { stringstream ss(s); int id, w; ss >> s; ss >> id; ss >> w; pq.push({w, id, w}); } int k; for (cin >> k; k--;) { auto [t, id, w] = pq.top(); pq.pop(); cout << id << '\n'; pq.push({t+w, id, w}); } }