実現したいこと
以下のようなコードをC++で書いたのですがrepマクロの部分でエラーが出ます。改善点を教えてください。
(AtCoder Beginner Contest 365、C問題です)
発生している問題・分からないこと
repマクロがうまくいっていない?
エラーメッセージ
error
1prog.cc: In function 'int main()': 2prog.cc:12:24: error: 'i' was not declared in this scope 3 12 | rep(i, n) cin >> a[i]; 4 | ^
該当のソースコード
#include <bits/stdc++.h> #include <vector> #include <algorithm> using namespace std; #define rep(i, n) for (int i = 0; i < (n); i++); using ll = long long; int main() { int n; ll m; cin >> n >> m; vector<int> a(n); rep(i,n) cin >> a[i]; auto f = [&](int x) -> bool{ ll s = 0; rep(i,n) s += min(x,a[i]); return s <= m; }; const int INF = 1001001001; if(f(INF)) cout << "infinite" << endl; else{ int ac = 0, wa = INF; while(ac+1 < wa){ int wj = (ac + wa)/2; if(f(wj)) ac = wj; else wa = wj; } cout << ac << endl; } return 0; }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
分からないままです。
補足
特になし

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/10/02 12:21