Submission #550759

#TimeUsernameProblemLanguageResultExecution timeMemory
550759AJ00Port Facility (JOI17_port_facility)C++14
22 / 100
2994 ms1048576 KiB
#include <bits/stdc++.h> using namespace std; const int MOD = 1e9+7; pair<int,int> tim[1000001]; vector<int> adj[1000001]; int col[1000001]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int tc=1,n,q,k,m; //cin >> tc; for (int poppo = 1; poppo <= tc; poppo++){ //cout << "Case #" << poppo << ": "; cin >> n; for (int i = 1; i <= n; i++){ cin >> tim[i].first >> tim[i].second; col[i] = -1; } sort(tim+1,tim+n+1); int cur = 1; set<pair<int,int>> s; // priority_queue<int, vector<int>, greater<int>> pq; for (int i = 1; i <= (2*n); i++){ if (i != tim[cur].first){ s.erase(s.begin()); continue; } s.insert({tim[cur].second,cur}); for (auto const &var: s){ if (var.first == tim[cur].second){ break; } adj[cur].push_back(var.second); adj[var.second].push_back(cur); } cur++; } int ans = 1; for (int i = 1; i <= n; i++){ if (col[i] != -1){ continue; } col[i] = 1; queue<int> q; q.push(i); while(!q.empty()){ int p = q.front(); q.pop(); for (int c: adj[p]){ if (col[c] != -1){ if (col[c] == col[p]){ cout << 0 << "\n"; return 0; } } else { col[c] = 1-col[p]; q.push(c); } } } ans = ((ans*2)%MOD); } cout << ans << "\n"; } return 0; }

Compilation message (stderr)

port_facility.cpp: In function 'int main()':
port_facility.cpp:12:16: warning: unused variable 'q' [-Wunused-variable]
   12 |     int tc=1,n,q,k,m;
      |                ^
port_facility.cpp:12:18: warning: unused variable 'k' [-Wunused-variable]
   12 |     int tc=1,n,q,k,m;
      |                  ^
port_facility.cpp:12:20: warning: unused variable 'm' [-Wunused-variable]
   12 |     int tc=1,n,q,k,m;
      |                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...