답안 #864053

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
864053 2023-10-21T18:58:18 Z manizare Arranging Tickets (JOI17_arranging_tickets) C++14
45 / 100
10 ms 29276 KB
#include <bits/stdc++.h> 

#define pb push_back
#define F first
#define S second 
#define all(a) a.begin(),a.end()
#define pii pair <int,int>
#define Pii pair< pii , pii >
#define int long long
using namespace std ;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const int maxn = 6e5 + 10 , sq = 3 , maxq = 1e7 + 1 ,  inf = 1e18 + 10 , mod= 998244353 ,lg = 20 ;
vector <pair <pii , int> >  ed ;
vector <int> vec[maxn] , k[maxn];
int pr[maxn] , n , m ; 
int ch(int x , int val){
  priority_queue <int> pq ;
  for(int i =0 ; i < n ; i++){
    pr[i] =0  ;
  }
  for(int i =0 ; i < ed.size() ; i++){
    int a = ed[i].F.F , b = ed[i].F.S; 
    a = (a-x+n)%n ;
    b = (b-x+n)%n;
    if(b < a)swap(a , b) ; 
    pr[a] ++ ;
    pr[b]-- ;
    k[a].pb(b); 
  }
  int ans =0 ;
  for(int i =0 ; i < n ; i++){
    if(i)pr[i] += pr[i-1] ;
    for(int j =0  ; j < k[i].size() ; j++){
      pq.push(k[i][j]) ;
    }
    while(pq.size() && pr[i] > val){
      int v = pq.top() ; pq.pop() ;
      pr[i]-=2 ;
      pr[v]+=2 ;
      ans++;
    }
  }
  for(int i = 0 ; i< n ; i++){
    k[i].clear() ;
  }
  return ans ;
}


signed main() {
  ios::sync_with_stdio(0) ; cin.tie(0) ; cout.tie(0) ;
  cin >> n >> m ;
  for(int i =1 ; i <= m ; i++){
    int a , b , c; 
    cin >> a >> b >> c ;
    a--;
    b--;
    pr[a]++;
    pr[b]--;
    ed.pb({{a, b} , c}) ;
  }
  for(int i = 1; i< n  ;i++){
    pr[i]+= pr[i-1] ; 
  }
  int mx= 0 ; 
  for(int i = 0 ; i < n ; i++){
    if(pr[i] > pr[mx])mx = i ;
  }
  int ans =min(ch((mx+1+n)%n , 0) , ch((mx+1+n)%n , 1)+1) ; 
  int ans2 =min(ch((mx-1+n)%n , 0) , ch((mx-1+n)%n , 1)+1) ; 
  int ans3 = min(ch((mx+n)%n , 0) , ch((mx+n)%n , 1)+1) ; 
  int ans4 = min(ch((mx+n+2)%n , 0) , ch((mx+n+2)%n , 1)+1) ;
  int ans5 = min(ch((mx+n-2)%n , 0) , ch((mx+n-2)%n , 1)+1); 
  cout << min({ans , ans2 , ans3 , ans4 , ans5} ) << "\n" ;
}
/*
 
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 29020 KB Output is correct
2 Correct 6 ms 29024 KB Output is correct
3 Correct 6 ms 29016 KB Output is correct
4 Correct 6 ms 29272 KB Output is correct
5 Correct 6 ms 29020 KB Output is correct
6 Correct 6 ms 29020 KB Output is correct
7 Correct 6 ms 29020 KB Output is correct
8 Correct 6 ms 29000 KB Output is correct
9 Correct 6 ms 29020 KB Output is correct
10 Correct 6 ms 29020 KB Output is correct
11 Correct 6 ms 29020 KB Output is correct
12 Correct 7 ms 29016 KB Output is correct
13 Correct 6 ms 29016 KB Output is correct
14 Correct 6 ms 29020 KB Output is correct
15 Correct 6 ms 29056 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 29020 KB Output is correct
2 Correct 6 ms 29024 KB Output is correct
3 Correct 6 ms 29016 KB Output is correct
4 Correct 6 ms 29272 KB Output is correct
5 Correct 6 ms 29020 KB Output is correct
6 Correct 6 ms 29020 KB Output is correct
7 Correct 6 ms 29020 KB Output is correct
8 Correct 6 ms 29000 KB Output is correct
9 Correct 6 ms 29020 KB Output is correct
10 Correct 6 ms 29020 KB Output is correct
11 Correct 6 ms 29020 KB Output is correct
12 Correct 7 ms 29016 KB Output is correct
13 Correct 6 ms 29016 KB Output is correct
14 Correct 6 ms 29020 KB Output is correct
15 Correct 6 ms 29056 KB Output is correct
16 Correct 6 ms 29020 KB Output is correct
17 Correct 7 ms 29020 KB Output is correct
18 Correct 6 ms 28868 KB Output is correct
19 Correct 7 ms 29020 KB Output is correct
20 Correct 7 ms 28928 KB Output is correct
21 Correct 6 ms 29020 KB Output is correct
22 Correct 6 ms 29016 KB Output is correct
23 Correct 6 ms 29016 KB Output is correct
24 Correct 6 ms 29020 KB Output is correct
25 Correct 6 ms 29020 KB Output is correct
26 Correct 6 ms 29016 KB Output is correct
27 Correct 6 ms 29016 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 29020 KB Output is correct
2 Correct 6 ms 29024 KB Output is correct
3 Correct 6 ms 29016 KB Output is correct
4 Correct 6 ms 29272 KB Output is correct
5 Correct 6 ms 29020 KB Output is correct
6 Correct 6 ms 29020 KB Output is correct
7 Correct 6 ms 29020 KB Output is correct
8 Correct 6 ms 29000 KB Output is correct
9 Correct 6 ms 29020 KB Output is correct
10 Correct 6 ms 29020 KB Output is correct
11 Correct 6 ms 29020 KB Output is correct
12 Correct 7 ms 29016 KB Output is correct
13 Correct 6 ms 29016 KB Output is correct
14 Correct 6 ms 29020 KB Output is correct
15 Correct 6 ms 29056 KB Output is correct
16 Correct 6 ms 29020 KB Output is correct
17 Correct 7 ms 29020 KB Output is correct
18 Correct 6 ms 28868 KB Output is correct
19 Correct 7 ms 29020 KB Output is correct
20 Correct 7 ms 28928 KB Output is correct
21 Correct 6 ms 29020 KB Output is correct
22 Correct 6 ms 29016 KB Output is correct
23 Correct 6 ms 29016 KB Output is correct
24 Correct 6 ms 29020 KB Output is correct
25 Correct 6 ms 29020 KB Output is correct
26 Correct 6 ms 29016 KB Output is correct
27 Correct 6 ms 29016 KB Output is correct
28 Correct 10 ms 29276 KB Output is correct
29 Incorrect 9 ms 29276 KB Output isn't correct
30 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 29020 KB Output is correct
2 Correct 6 ms 29024 KB Output is correct
3 Correct 6 ms 29016 KB Output is correct
4 Correct 6 ms 29272 KB Output is correct
5 Correct 6 ms 29020 KB Output is correct
6 Correct 6 ms 29020 KB Output is correct
7 Correct 6 ms 29020 KB Output is correct
8 Correct 6 ms 29000 KB Output is correct
9 Correct 6 ms 29020 KB Output is correct
10 Correct 6 ms 29020 KB Output is correct
11 Correct 6 ms 29020 KB Output is correct
12 Correct 7 ms 29016 KB Output is correct
13 Correct 6 ms 29016 KB Output is correct
14 Correct 6 ms 29020 KB Output is correct
15 Correct 6 ms 29056 KB Output is correct
16 Correct 6 ms 29020 KB Output is correct
17 Correct 7 ms 29020 KB Output is correct
18 Correct 6 ms 28868 KB Output is correct
19 Correct 7 ms 29020 KB Output is correct
20 Correct 7 ms 28928 KB Output is correct
21 Correct 6 ms 29020 KB Output is correct
22 Correct 6 ms 29016 KB Output is correct
23 Correct 6 ms 29016 KB Output is correct
24 Correct 6 ms 29020 KB Output is correct
25 Correct 6 ms 29020 KB Output is correct
26 Correct 6 ms 29016 KB Output is correct
27 Correct 6 ms 29016 KB Output is correct
28 Correct 10 ms 29276 KB Output is correct
29 Incorrect 9 ms 29276 KB Output isn't correct
30 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 29020 KB Output is correct
2 Correct 6 ms 29024 KB Output is correct
3 Correct 6 ms 29016 KB Output is correct
4 Correct 6 ms 29272 KB Output is correct
5 Correct 6 ms 29020 KB Output is correct
6 Correct 6 ms 29020 KB Output is correct
7 Correct 6 ms 29020 KB Output is correct
8 Correct 6 ms 29000 KB Output is correct
9 Correct 6 ms 29020 KB Output is correct
10 Correct 6 ms 29020 KB Output is correct
11 Correct 6 ms 29020 KB Output is correct
12 Correct 7 ms 29016 KB Output is correct
13 Correct 6 ms 29016 KB Output is correct
14 Correct 6 ms 29020 KB Output is correct
15 Correct 6 ms 29056 KB Output is correct
16 Correct 6 ms 29020 KB Output is correct
17 Correct 7 ms 29020 KB Output is correct
18 Correct 6 ms 28868 KB Output is correct
19 Correct 7 ms 29020 KB Output is correct
20 Correct 7 ms 28928 KB Output is correct
21 Correct 6 ms 29020 KB Output is correct
22 Correct 6 ms 29016 KB Output is correct
23 Correct 6 ms 29016 KB Output is correct
24 Correct 6 ms 29020 KB Output is correct
25 Correct 6 ms 29020 KB Output is correct
26 Correct 6 ms 29016 KB Output is correct
27 Correct 6 ms 29016 KB Output is correct
28 Correct 10 ms 29276 KB Output is correct
29 Incorrect 9 ms 29276 KB Output isn't correct
30 Halted 0 ms 0 KB -