結果
問題 | No.2684 折々の色 |
ユーザー |
![]() |
提出日時 | 2024-03-20 21:41:21 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 464 ms / 2,000 ms |
コード長 | 1,760 bytes |
コンパイル時間 | 5,055 ms |
コンパイル使用メモリ | 319,220 KB |
実行使用メモリ | 46,216 KB |
最終ジャッジ日時 | 2024-09-30 07:31:46 |
合計ジャッジ時間 | 18,531 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 56 |
ソースコード
#include <atcoder/all>#include <bits/stdc++.h>using ll = long long;using ull = unsigned long long;#define rep(i, n) for(int i = 0; i < (int)(n); i++)#define REP(i, m, n) for(int i = (int)(m); i < (int)(n); i++)using namespace std;using namespace atcoder;using mint = modint998244353;const int inf = 1000000007;const ll longinf = 1ll << 60;int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, m;cin >> n >> m;vector<int> y(m);rep(i, m) {cin >> y[i];y[i] *= 10000;}vector x(n, vector(m, 0));vector<int> t(n);map<vector<int>, int> mp;rep(i, n) {rep(j, m) cin >> x[i][j];cin >> t[i];rep(j, m) {x[i][j] *= t[i];}mp[x[i]] += 1;}rep(i, n) {vector<int> target = y;rep(j, m) {target[j] -= 100 * x[i][j];}if(t[i] == 100) {bool ok = true;rep(j, m) {if(target[j] != 0)ok = false;}if(ok) {cout << "Yes" << endl;return 0;}} else {bool ok = true;rep(j, m) {if(target[j] % (100 - t[i])) {ok = false;break;} else {target[j] /= 100 - t[i];}}if(ok) {int cnt = mp[target];if(target == x[i])--cnt;if(cnt > 0) {cout << "Yes" << endl;return 0;}}}}cout << "No" << endl;return 0;}