Submission #525136

#TimeUsernameProblemLanguageResultExecution timeMemory
525136KhizriTable Tennis (info1cup20_tabletennis)C++17
0 / 100
269 ms38796 KiB
#include <bits/stdc++.h> using namespace std; //------------------------------DEFINE------------------------------ //****************************************************************** #define IOS ios_base::sync_with_stdio(false); cin.tie(0),cout.tie(0) #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; #define MOD (ll)(1e9+7) #define endl "\n" //****************************************************************** //----------------------------FUNCTION------------------------------ //****************************************************************** ll gcd(ll a,ll b){ if(a>b) swap(a,b); if(a==0) return a+b; return gcd(b%a,a); } ll lcm(ll a,ll b){ return a/gcd(a,b)*b; } bool is_prime(ll n){ ll k=sqrt(n); if(n==2) return true; if(n<2||n%2==0||k*k==n) return false; for(int i=3;i<=k;i+=2){ if(n%i==0){ return false; } } return true; } //***************************************************************** //--------------------------MAIN-CODE------------------------------ const int mxn=2e5+5; int t=1,n,k,x,arr[mxn]; map<int,int>mp; map<int,vector<int>>ind; vector<int>funk(int sum){ map<int,int>MP=mp; int ans=0; for(int i=1;i<=n;i++){ int a=arr[i],b=sum-arr[i]; ans+=min(MP[a],MP[b]); MP[a]=0,MP[b]=0; } if(ans<x/2){ return {}; } vector<int>vt; for(int i=1;i<=n&&vt.size()<x;i++){ int say=min(ind[arr[i]].size(),ind[sum-arr[i]].size()); say=min(say,((x-((int)vt.size())))/2); for(int j=0;j<say;j++){ vt.pb(ind[arr[i]][j]); } for(int j=0;j<say;j++){ vt.pb(ind[sum-arr[i]][j]); } } return vt; } void solve(){ cin>>n>>k; n+=k; x=n-k; for(int i=1;i<=n;i++){ cin>>arr[i]; mp[arr[i]]++; ind[arr[i]].pb(i); } sort(arr+1,arr+n+1); vector<int>a=funk(arr[1]+arr[n]); if(a.size()){ sort(all(a)); for(int v:a){ cout<<v<<' '; } cout<<endl; return; } vector<int>b=funk(arr[2]+arr[n]); if(b.size()){ sort(all(b)); for(int v:b){ cout<<v<<' '; } cout<<endl; return; } vector<int>c=funk(arr[1]+arr[n-1]); if(c.size()){ sort(all(c)); for(int v:c){ cout<<v<<' '; } cout<<endl; return; } } int main(){ IOS; //cin>>t; while(t--){ solve(); } return 0; }

Compilation message (stderr)

tabletennis.cpp: In function 'std::vector<int> funk(int)':
tabletennis.cpp:59:32: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   59 |     for(int i=1;i<=n&&vt.size()<x;i++){
      |                       ~~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...