Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Knapsack DP is harder than FFT.
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll;
- #define ff first
- #define ss second
- #define pb emplace_back
- #define AI(x) begin(x),end(x)
- template<class I>bool chmax(I&a,I b){return a<b?(a=b,true):false;}
- template<class I>bool chmin(I&a,I b){return b<a?(a=b,true):false;}
- #ifdef OWO
- #define debug(args...) SDF(#args, args)
- #define OIU(args...) ostream& operator<<(ostream&O,args)
- #define LKJ(S,B,E,F) template<class...T>OIU(S<T...>s){O<<B;int c=0;for(auto i:s)O<<(c++?", ":"")<<F;return O<<E;}
- LKJ(vector,'[',']',i)LKJ(deque,'[',']',i)LKJ(set,'{','}',i)LKJ(multiset,'{','}',i)LKJ(unordered_set,'{','}',i)LKJ(map,'{','}',i.ff<<':'<<i.ss)LKJ(unordered_map,'{','}',i.ff<<':'<<i.ss)
- template<class...T>void SDF(const char* s,T...a){int c=sizeof...(T);if(!c){cerr<<"\033[1;32mvoid\033[0m\n";return;}(cerr<<"\033[1;32m("<<s<<") = (",...,(cerr<<a<<(--c?", ":")\033[0m\n")));}
- template<class T,size_t N>OIU(array<T,N>a){return O<<vector<T>(AI(a));}template<class...T>OIU(pair<T...>p){return O<<'('<<p.ff<<','<<p.ss<<')';}template<class...T>OIU(tuple<T...>t){return O<<'(',apply([&O](T...s){int c=0;(...,(O<<(c++?", ":"")<<s));},t),O<<')';}
- #else
- #pragma GCC optimize("Ofast")
- #define debug(...) ((void)0)
- #endif
- // 以上為模板
- // signed 跟 int 一樣
- // 有時會需要用到 long long 時
- // 有些人會 #define int long long
- // 但是 main 一定要回傳 int 所以就用 signed
- // 這是不太好的習慣,建議不要這樣做
- signed main(){
- // 這行可以加速 cin cout,不用知道他在幹嘛照抄就好了
- ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
- // 宣告一些東西
- // 大部分人會習慣把 i j k 留給 for 迴圈
- // 所以我用 b
- int n;
- vector<int> a, b;
- cin >> n;
- // resize(n): 調整大小為 n
- // assign(n, v): 把整個 vector 設為 n 個 v
- a.resize(n);
- b.assign(n, 0);
- for(int i = 0; i < n; ++i) cin >> a[i];
- for(int i = 0; i < n; ++i){
- // 變數也可以宣告在裡面
- int cnt = 0;
- // 如果只有一行的話也可以不用大括弧
- // 當然這看個人習慣啦
- for(int j = 0; j < n; ++j)
- if(a[j] < a[i]) ++cnt;
- b[cnt] = a[i];
- }
- for(int i = 0; i < n; ++i) cout << b[i] << ' ';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement