Submission #781595

#TimeUsernameProblemLanguageResultExecution timeMemory
781595andecaandeciStrange Device (APIO19_strange_device)C++17
0 / 100
1 ms292 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,a,b; ll l[1000005],r[1000005]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>a>>b; ll t; ll x; if ((b+1)%a==0){ if (b>1000005){ t=1000005; } else t=b; } else{ if (b>1000005||a>1000005||a*b>1000005){ t=1000005; } else t=a*b; } // cout<<t; // t=lcm(t,b); set <pair<ll,ll>> st; for (int i=1;i<=n;i++){ cin>>l[i]>>r[i]; ll u=r[i]-l[i]+1; if (u>=t){ l[i]=0; r[i]=t-1; } else{ ll q=r[i]-l[i]; ll p=l[i]%t; l[i]=p; r[i]=l[i]+q; } if (r[i<=t]) st.insert({l[i],r[i]}); else{ st.insert({l[i],t-1}); st.insert({0,1+(u-(t-l[i]))}); } // cout<<l[i]<<" "<<r[i]<<endl; } vector <pair<ll,ll>> pasang; for (auto z:st){ pasang.push_back(z); // cout<<z.first<<" "<<z.second<<endl; } // sort(pasang+1,pasang+n+1); vector <pair<ll,ll>> jawab; ll last=pasang[0].second,previous=pasang[0].first; pasang.push_back({(ll)1e18+100,(ll)1e18+100}); sort(pasang.begin(),pasang.end()); for (int i=1;i<=n;i++){ if (pasang[i].first<=last){ last=pasang[i].second; } else{ jawab.push_back({previous,last}); previous=pasang[i].first; last=pasang[i].second; } } // if (previous>jawab[jawab.size()-1].second){ // // jawab.push_back({previous,last}); // } ll ans=0; for (int i=0;i<jawab.size();i++){ ans+=jawab[i].second-jawab[i].first+1; } cout<<" "<<ans; }

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:73:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   73 |     for (int i=0;i<jawab.size();i++){
      |                  ~^~~~~~~~~~~~~
strange_device.cpp:10:8: warning: unused variable 'x' [-Wunused-variable]
   10 |     ll x;
      |        ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...