Submission #825630

#TimeUsernameProblemLanguageResultExecution timeMemory
825630MohamedAhmed04Arranging Tickets (JOI17_arranging_tickets)C++14
10 / 100
384 ms468 KiB
#include <bits/stdc++.h> using namespace std ; const int MAX = 22 ; int arr[MAX] ; int n , m ; int L[MAX] , R[MAX] , C[MAX] ; int cnt[MAX] ; void Apply1(int l , int r , int x) { for(int i = l ; i < r ; ++i) cnt[i] += x ; } void Apply2(int l , int r , int x) { for(int i = 1 ; i <= n ; ++i) { if(i < l || i >= r) cnt[i] += x ; else cnt[i] -= x ; } } int main() { ios_base::sync_with_stdio(0) ; cin.tie(0) ; cin>>n>>m ; for(int i = 0 ; i < m ; ++i) { cin>>L[i]>>R[i]>>C[i] ; if(L[i] > R[i]) swap(L[i] , R[i]) ; } int ans = m ; for(int mask = 0 ; mask < (1 << m) ; ++mask) { memset(cnt , 0 , sizeof(cnt)) ; for(int bit = 0 ; bit < m ; ++bit) { Apply1(L[bit] , R[bit] , C[bit]) ; if((mask & (1 << bit))) Apply2(L[bit] , R[bit] , C[bit]) ; } int Max = 0 ; for(int i = 1 ; i <= n ; ++i) Max = max(Max , cnt[i]) ; ans = min(ans , Max) ; } return cout<<ans<<"\n" , 0 ; }
#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...