Submission #1286106

#TimeUsernameProblemLanguageResultExecution timeMemory
1286106Faisal_SaqibFortune Telling 2 (JOI14_fortune_telling2)C++20
35 / 100
3093 ms752 KiB
#pragma GCC optimize("unroll-all-loops") #include <bits/stdc++.h> using namespace std; #define ll long long const int N=2e5+1000; pair<int,int> a[N]; int n,k; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll ans=0; cin>>n>>k; for(int i=1;i<=n;i++) { cin>>a[i].first>>a[i].second; } sort(a+1,a+n+1); // Build(); a[n+1]=a[n+2]=a[n+3]=a[n+4]={2e9,2e9}; a[n+4+1]=a[n+4+2]=a[n+4+3]=a[n+4+4]={2e9,2e9}; a[n+7+1]=a[n+7+2]=a[n+7+3]=a[n+7+4]={2e9,2e9}; a[n+7+4+1]=a[n+7+4+2]=a[n+7+4+3]=a[n+7+4+4]={2e9,2e9}; for(int i=1;i<=k;i++) { int t; cin>>t; for(int l=1;l<=n;l+=16) { if(a[l].first<=t) { swap(a[l].first,a[l].second); } if(a[l+1].first<=t) { swap(a[l+1].first,a[l+1].second); } if(a[l+2].first<=t) { swap(a[l+2].first,a[l+2].second); } if(a[l+3].first<=t) { swap(a[l+3].first,a[l+3].second); } if(a[l+4].first<=t) { swap(a[l+4].first,a[l+4].second); } if(a[l+5].first<=t) { swap(a[l+5].first,a[l+5].second); } if(a[l+6].first<=t) { swap(a[l+6].first,a[l+6].second); } if(a[l+7].first<=t) { swap(a[l+7].first,a[l+7].second); } if(a[l+8].first<=t) { swap(a[l+8].first,a[l+8].second); } if(a[l+8+1].first<=t) { swap(a[l+8+1].first,a[l+8+1].second); } if(a[l+8+2].first<=t) { swap(a[l+8+2].first,a[l+8+2].second); } if(a[l+8+3].first<=t) { swap(a[l+8+3].first,a[l+8+3].second); } if(a[l+8+4].first<=t) { swap(a[l+8+4].first,a[l+8+4].second); } if(a[l+8+5].first<=t) { swap(a[l+8+5].first,a[l+8+5].second); } if(a[l+8+6].first<=t) { swap(a[l+8+6].first,a[l+8+6].second); } if(a[l+8+7].first<=t) { swap(a[l+8+7].first,a[l+8+7].second); } } // Update(t); } for(int i=1;i<=n;i++)ans+=a[i].first; // Answer(); cout<<ans<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...