Submission #699137

#TimeUsernameProblemLanguageResultExecution timeMemory
699137Ahmed57Sticks (POI11_pat)C++14
84 / 100
756 ms55148 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> vector<pair<int,int>> v; ordered_set s[50];int b[50]; int ma1 = -1 , ma2 = 0 , ind1 = 0 , ind2 = 0 , x = 0 , d = 0 , n; signed main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); cin>>n; for(int i = 0;i<n;i++){ cin>>d; for(int j = 0;j<d;j++){ cin>>x; v.push_back({x,i}); s[i].insert(x); } } sort(v.begin(),v.end()); for(int i = v.size()-1;i>=0;i--){ b[v[i].second] = -1; for(int j = 0;j<n;j++){ if(j==v[i].second)continue; int d = s[j].order_of_key(v[i].first+1); if(d>0){ b[j]=*s[j].find_by_order(d-1); }else b[j] = -1; } ma1 = -1 , ind1 = 0 , ma2 = -1 , ind2 = 0; for(int j = 0;j<n;j++){ if(ma1<b[j]){ ma1 = b[j]; ind1 = j; } } if(ma1==-1)continue; for(int j = 0;j<n;j++){ if(j==ind1)continue; if(ma2<b[j]){ ma2 = b[j]; ind2 = j; } } if(ma2==-1)continue; if(ma1+ma2<=v[i].first)continue; cout<<v[i].second+1<<" "<<v[i].first<<" "<<ind1+1<<" "<<ma1<<" "<<ind2+1<<" "<<ma2<<endl; return 0; } cout<<"NIE"<<endl; }
#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...