Advertisement
Graf_Rav

Untitled

Jan 20th, 2018
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. int main(){
  8.     int n;
  9.     cin>>n;
  10.    
  11.     vector<int> k(4, 0);
  12.     vector< vector<int> > v(4, vector<int>(2, 10000));
  13.    
  14.     for(int i=0;i<n;i++){
  15.         int x, y;
  16.         cin>>x>>y;
  17.        
  18.         if(x==0 || y==0){
  19.             continue;
  20.         }
  21.        
  22.         int c=-1;
  23.         if(x>0){
  24.             if(y>0){
  25.                 c=0;
  26.             }
  27.             else{
  28.                 c=3;
  29.             }
  30.         }
  31.         else{
  32.             if(y>0){
  33.                 c=1;
  34.             }
  35.             else{
  36.                 c=2;
  37.             }
  38.         }
  39.        
  40.         k[c]++;
  41.         if(min(abs(v[c][0]),abs(v[c][1]))>min(abs(x),abs(y))){
  42.             v[c][0]=x;
  43.             v[c][1]=y;
  44.         }
  45.     }
  46.    
  47.     int K=-1;
  48.     vector<int> ans;
  49.     for(int i=0;i<4;i++){
  50.         if(k[i]>K){
  51.             K=k[i];
  52.             ans.clear();
  53.             ans.push_back(i);
  54.         }
  55.         else if(k[i]==K){
  56.             ans.push_back(i);
  57.         }
  58.     }
  59.    
  60.     if(ans.size()==1){
  61.         cout<<"K = "<<ans[0]+1<<'\n';
  62.         cout<<"M = "<<k[ans[0]]<<'\n';
  63.         cout<<"A = ("<<v[ans[0]][0]<<','<<v[ans[0]][1]<<")\n";
  64.         cout<<"R = "<<min(abs(v[ans[0]][0]),abs(v[ans[0]][1]));
  65.     }
  66.     else{
  67.         int R=0x7FFFFFFF;
  68.         for(int i=0;i<ans.size();i++){
  69.             R=min(R, min(abs(v[ans[i]][0]) , abs(v[ans[i]][1])) );
  70.         }
  71.         for(int i=0; i<ans.size();i++){
  72.             if(min(abs(v[ans[i]][0]), abs(v[ans[i]][1]))==R){
  73.                 cout<<"K = "<<ans[i]+1<<'\n';
  74.                 cout<<"M = "<<k[ans[i]]<<'\n';
  75.                 cout<<"A = ("<<v[ans[i]][0]<<','<<v[ans[i]][1]<<")\n";
  76.                 cout<<"R = "<<min(v[ans[i]][0],v[ans[i]][1]);
  77.                 return 0;
  78.             }
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement