Submission #567748

#TimeUsernameProblemLanguageResultExecution timeMemory
567748dantoh000Team Contest (JOI22_team)C++14
64 / 100
2025 ms5804 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int,int> ii; typedef tuple<int, int, int> iii; int n; vector<iii> v; vector<ii> topush; vector<ii> P; vector<int> topush2; map<int,int> MX; map<int,int> MN; map<int,int> ct; void add(int x, int y){ if (ct[x] == 0){ MX[x] = MN[x] = y; } else{ MX[x] = max(MX[x], y); MN[x] = min(MN[x], y); } ct[x]++; } int query(int x, int y){ int mx = -1; int mx2 = -1; int ans = -1; for (auto X : MN){ int b,mnc; tie(b,mnc) = X; int mxc = MX[b]; //printf("%d %d %d\n",b,mnc,mxc); mx = max(mx, mx2); mx2 = -1; mx2 = max(mx2, mxc); if (b > x && mx > y && mx > mnc){ ans = max(ans, b+mx); } } //printf("query %d %d = %d\n",x,y,ans); return ans; } int main(){ scanf("%d",&n); for (int i = 0,a,b,c; i < n; i++){ scanf("%d%d%d",&a,&b,&c); v.emplace_back(a,b,c); } sort(v.begin(),v.end()); int last = -1; int ans = -1; for (auto x : v){ int a,b,c; tie(a,b,c) = x; if (a != last){ for (auto X : topush){ add(X.first, X.second); } topush.clear(); last = a; } topush.push_back({b,c}); int CC = query(b,c); if (CC != -1) ans = max(ans, CC+a); ///printf("%d %d %d\n",a,b,c); } printf("%d",ans); }

Compilation message (stderr)

team.cpp: In function 'int main()':
team.cpp:44:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
team.cpp:46:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |         scanf("%d%d%d",&a,&b,&c);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~
#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...