Submission #642182

#TimeUsernameProblemLanguageResultExecution timeMemory
642182Ahmad_HasanSticks (POI11_pat)C++17
100 / 100
524 ms14884 KiB
#include<bits/stdc++.h>
using namespace std;


int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);      cout.tie(0);

    int k;
    cin>>k;
    vector<vector<int> >clrs(k+5);
    vector<pair<int,int> >vps;
    for(int i=1;i<=k;i++){
        int n;
        cin>>n;
        clrs[i]=vector<int>(n);
        for(int j=0;j<n;j++){cin>>clrs[i][j];vps.push_back({clrs[i][j],i});}
        sort(clrs[i].begin(),clrs[i].end());
    }

    sort(vps.begin(),vps.end());

    vector<pair<int,int> >ans;
    for(int i=0;i<vps.size() && ans.size()==0;i++){
        for(int j=1;j<=k && ans.size()==0;j++){
            if(j==vps[i].second)continue;
            int mx=upper_bound(clrs[j].begin(),clrs[j].end(),vps[i].first)-clrs[j].begin();

            mx--;
            if(mx<0)continue;
            mx=clrs[j][mx];
            int ttl=lower_bound(vps.begin(),vps.end(),make_pair(mx+vps[i].first,-1))-lower_bound(vps.begin(),vps.end(),make_pair(vps[i].first,-1));
            int sum=0;
            sum+=lower_bound(clrs[j].begin(),clrs[j].end(),mx+vps[i].first)-lower_bound(clrs[j].begin(),clrs[j].end(),vps[i].first);
            sum+=lower_bound(clrs[vps[i].second].begin(),clrs[vps[i].second].end(),mx+vps[i].first)-lower_bound(clrs[vps[i].second].begin(),clrs[vps[i].second].end(),vps[i].first);
            if(ttl>sum){
                ans.push_back({mx,j});
                ans.push_back(vps[i]);
                for(int ii=lower_bound(vps.begin(),vps.end(),make_pair(vps[i].first,-1))-vps.begin();ii<vps.size();ii++){
                    if(vps[ii].second!=j&&vps[ii].second!=vps[i].second&&vps[ii].first<mx+vps[i].first){
                        ans.push_back(vps[ii]);
                        break;
                    }
                }
                break;
            }
        }
    }
    if(ans.size()){
        for(int i=0;i<3;i++){
            cout<<ans[i].second<<' '<<ans[i].first<<' ';
        }
    }else{
        cout<<"NIE";
    }



    return 0;
}

Compilation message (stderr)

pat.cpp: In function 'int32_t main()':
pat.cpp:24:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for(int i=0;i<vps.size() && ans.size()==0;i++){
      |                 ~^~~~~~~~~~~
pat.cpp:39:104: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |                 for(int ii=lower_bound(vps.begin(),vps.end(),make_pair(vps[i].first,-1))-vps.begin();ii<vps.size();ii++){
      |                                                                                                      ~~^~~~~~~~~~~
#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...
#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...