結果
問題 |
No.1726 [Cherry 3rd Tune B] ジャマイカビアポン
|
ユーザー |
👑 ![]() |
提出日時 | 2021-08-20 18:12:34 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,293 bytes |
コンパイル時間 | 868 ms |
コンパイル使用メモリ | 82,148 KB |
実行使用メモリ | 13,632 KB |
最終ジャッジ日時 | 2024-10-07 08:52:59 |
合計ジャッジ時間 | 5,720 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 TLE * 1 -- * 24 |
ソースコード
#include<iostream> #include<vector> #include<set> using namespace std; int max(int a, int b){return a>b? a: b;} int main(){ int N,M; cin >> N >> M; vector<int> P(N); for (int i=0; i<N; i++) cin >> P[i]; vector<pair<int,int>> S; int a,b; for (int i=0; i<N; i++){ cin >> a >> b; S.push_back(make_pair(a,b)); } vector<pair<int,int>> T; set<pair<int,int>> T_set; int c,d; for (int j=0; j<M; j++){ cin >> c >> d; T.push_back(make_pair(c,d)); T_set.insert(make_pair(c,d)); } int X=0,Y=0; int u,v,s,t,x,y; vector<pair<int,int>> V{make_pair(1,1), make_pair(1,-1), make_pair(-1,1), make_pair(-1,-1)}; for (int i=0; i<N; i++){ a=S[i].first; b=S[i].second; for (int j=0; j<M; j++){ c=T[j].first; d=T[j].second; for (auto q: V){ s=q.first; t=q.second; u=c-s*a; v=d-t*b; Y=0; for (int k=0; k<N; k++){ x=S[k].first; y=S[k].second; if (T_set.count(make_pair(s*x+u, t*y+v))){ Y+=P[k]; } } X=max(X,Y); } } } cout << X << endl; return 0; }