# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
440543 | 2021-07-02T11:54:32 Z | zarif | Pod starim krovovima (COCI20_psk) | C++17 | 4 ms | 332 KB |
#include <bits/stdc++.h> using namespace std; void __print(int x) { cerr << x; } void __print(long x) { cerr << x; } void __print(long long x) { cerr << x; } void __print(unsigned x) { cerr << x; } void __print(unsigned long x) { cerr << x; } void __print(unsigned long long x) { cerr << x; } void __print(float x) { cerr << x; } void __print(double x) { cerr << x; } void __print(long double x) { cerr << x; } void __print(char x) { cerr << '\'' << x << '\''; } void __print(const char *x) { cerr << '\"' << x << '\"'; } void __print(const string &x) { cerr << '\"' << x << '\"'; } void __print(bool x) { cerr << (x ? "true" : "false"); } template <typename T, typename V> void __print(const pair<T, V> &x) { cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}'; } template <typename T> void __print(const T &x) { int f = 0; cerr << '{'; for (auto &i : x) cerr << (f++ ? "," : ""), __print(i); cerr << "}"; } void _print() { cerr << "]\n"; } template <typename T, typename... V> void _print(T t, V... v) { __print(t); if (sizeof...(v)) cerr << ", "; _print(v...); } #ifndef ONLINE_JUDGE #define debug(x...) \ cerr << "[" << #x << "] = ["; \ _print(x) #else #define debug(x...) #endif void setIO(string s) { freopen((s + ".in").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); } struct glass{ int cur,vol,i; }; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n ; vector<glass>vec(n); for(int i=0;i<n;i++){ cin >> vec[i].cur >> vec[i].vol; vec[i].i=i; } sort(vec.begin(),vec.end(),[](glass &a,glass &b){ return a.vol < b.vol; }); int cnt=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ int amount=min(vec[i].cur,vec[j].vol-vec[j].cur); vec[j].cur+=amount; vec[i].cur-=amount; } if(!vec[i].cur){ cnt++; } } sort(vec.begin(),vec.end(),[](glass &a,glass &b){ return a.i < b.i; }); cout << cnt <<endl; for(int i=0;i<n;i++){ cout << vec[i].cur <<endl; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 0 ms | 204 KB | Output is correct |
6 | Correct | 1 ms | 204 KB | Output is correct |
7 | Correct | 1 ms | 204 KB | Output is correct |
8 | Correct | 4 ms | 204 KB | Output is correct |
9 | Correct | 3 ms | 204 KB | Output is correct |
10 | Correct | 4 ms | 332 KB | Output is correct |