Submission #00011
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | #include <bits/stdc++.h> using namespace std; #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(), v.rend() #define ll long long #define next_per(v) next_permutation(v.begin(), v.end()) #define prev_per(v) prev_permutation(v.begin(), v.end()) #define fixed(v) fixed << setprecision(v) #define total(n) ((n) * ((n) + 1) / 2) #define combi(n) ((n) * ((n)-1) / 2) // n個の数の組み合わせ数 #define lcm(a, b) ((a) * (b) / __gcd(a, b)) // binery_search(all(v),key) = keyがあるかないかをboolで返す // lower_bound(all(v),key) = key以上のイテレーターを返す(一番左) // upper_bound(all(v),key) = keyより大きい要素のイテレーターを返す // 最小値=max_element(v.begin(),v.end()); // 最大値=min_element(v.begin(),v.end()); template < class x> x rng_total(x l, x r) { // l ~ rまでの数の総和 return ((l + r) * (r - l + 1) / 2); } template < class x> x rng_combi(x l, x r) { //「l個の物からr個取った組み合わせ数」 x ans = 1; l++; for (x i = 1; i <= r; i++) { x sub = l - i; ans *= sub; ans /= i; } return (ans); } template < class x> x dig_sum(x num) { // 各桁の総和 x ans = 0; while (num > 0) { ans += num % 10; num /= 10; } return (ans); } // [struct]-------------------------------------- // <UnionFind> struct UnionFind { // 親の要素とサイズを管理する変数 int group_cnt; vector< int > parent, size; // 変数の初期化 UnionFind( int n) { parent.resize(n, -1); size.resize(n, 1); group_cnt = n; } // x の根を求める int root( int x) { // x が根のとき if (parent[x] == -1) return x; // 経路圧縮 return parent[x] = root(parent[x]); } // x と y の根が同じか bool isSame( int x, int y) { return root(x) == root(y); } // x と y のグループを併合する bool unite( int x, int y) { // x と y の根を取得 int rootX = root(x); int rootY = root(y); // x と y が同じグループのときは何もしない if (rootX == rootY) return ( false ); // union by size( y のサイズが小さくなるように調整 ) if (size[rootX] < size[rootY]) swap(rootX, rootY); // y の親を x にする parent[rootY] = rootX; // 連結成分の個数を一つ減らす group_cnt--; // x のサイズに y のサイズを足す size[rootX] += size[rootY]; return ( true ); } }; //----------------------------------------------------- int main() { cin.tie(nullptr); ios_base::sync_with_stdio( false ); //----------------------------------------------------- int m, f, b; cin >> m >> f >> b; if (m + f < b) { cout << "NA" << endl; } else if (m >= b) { cout << 0 << endl; } else { cout << b - m << endl; } return (0); } // sishou |
ステータス
項目 | データ |
---|---|
問題 | 0002 - 買い物 |
ユーザー名 | ei2134 |
投稿日時 | 2023-07-31 09:33:42 |
言語 | C++17 |
状態 | Accepted |
得点 | 4 |
ソースコード長 | 3190 Byte |
最大実行時間 | 30 ms |
最大メモリ使用量 | 644 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | ALL | 4 / 4 | * |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # |
---|---|---|---|---|
in1.txt | AC | 19 ms | 604 KB |
1
|
in2.txt | AC | 14 ms | 492 KB |
1
|
in3.txt | AC | 17 ms | 572 KB |
1
|
in4.txt | AC | 30 ms | 528 KB |
1
|
in5.txt | AC | 23 ms | 488 KB |
1
|
in6.txt | AC | 19 ms | 448 KB |
1
|
in7.txt | AC | 22 ms | 532 KB |
1
|
in8.txt | AC | 20 ms | 616 KB |
1
|
in9.txt | AC | 25 ms | 440 KB |
1
|
in10.txt | AC | 20 ms | 560 KB |
1
|
in11.txt | AC | 18 ms | 644 KB |
1
|
in12.txt | AC | 18 ms | 596 KB |
1
|
in13.txt | AC | 21 ms | 552 KB |
1
|
in14.txt | AC | 23 ms | 508 KB |
1
|
in15.txt | AC | 18 ms | 584 KB |
1
|
in16.txt | AC | 25 ms | 540 KB |
1
|