Guest User

Nash Equill.

a guest
Apr 3rd, 2020
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define rep(_I,_A,_B) for(lli _I=_A;_I<_B;_I++)
  6. #define opv(_VAR) cout << #_VAR << ":" << _VAR << "\n";
  7. #define opvec(_VEC) cout << #_VEC << ":"; rep(_I,0,_VEC.size()){ cout<<_VEC[_I]<<" "; } cout<<"\n";  
  8. #define oparr(_VEC,_N) cout << #_VEC << ":"; rep(_I,0,_N){ cout<<_VEC[_I]<<" "; } cout<<"\n";  
  9.  
  10. typedef long long int lli;
  11. typedef vector<lli> vlli;
  12. typedef vector<int> vi;
  13. typedef vector<string> vs;
  14. typedef vector<pair<lli,lli>> vplli;
  15.  
  16. int main() {
  17.     lli n,m;
  18.     vector<vlli> arr;
  19.     cin>>n>>m;
  20.     //cin>>m>>n;
  21.     vlli inp(m);
  22.    
  23.     rep(i,0,n){
  24.         inp.assign(m,0);
  25.         rep(j,0,m) cin>>inp[j];
  26.         arr.push_back(inp);
  27.     }
  28.    
  29.     lli mx=-1,my=1000000000,ind=-1,cnt=0;
  30.     vplli ans;
  31.     rep(i,0,n){
  32.         mx=*max_element(arr[i].begin(),arr[i].end());
  33.         if(count(arr[i].begin(),arr[i].end(),mx)>1)continue;
  34.         ind=find(arr[i].begin(),arr[i].end(),mx)-arr[i].begin();
  35.         //opv(mx);
  36.         //opv(ind);
  37.         rep(j,0,n){
  38.             my=min(arr[j][ind],my);
  39.         }
  40.         //opv(my);
  41.         if(mx==my)ans.push_back({i+1,ind+1});
  42.     }
  43.    
  44.     if(ans.size()==0)cout<<"0 0";
  45.     else {
  46.         sort(ans.begin(),ans.end());
  47.         cout<<ans[0].first<<" "<<ans[0].second;
  48.     }
  49. }
Add Comment
Please, Sign In to add comment