Submission #92100

#TimeUsernameProblemLanguageResultExecution timeMemory
92100emil_physmathSegments (IZhO18_segments)C++17
7 / 100
22 ms632 KiB
#include <iostream> #include <stdio.h> #include <queue> #include <vector> using namespace std; void SubTaskOne(int n, int t); void SubTaskTwo(); void SubTaskThree(); int main() { int n, t; cin>>n>>t; if (n<=5000) SubTaskOne(n, t); char I; cin >> I; return 0; } void SubTaskOne(int n, int t) { int lastans=0; vector<pair<int, int> > seg; while (n--) { int type, l, r, k, id; cin>>type; if (type==1) { cin>>l>>r; l=(l^(t*lastans)); r=(r^(t*lastans)); if (l>r) swap(l, r); seg.push_back(make_pair(l, r)); } else if (type==2) { cin>>id; seg[id-1]=make_pair(-1, -1); } else if (type==3) { int ans=0; cin>>l>>r>>k; l=(l^(t*lastans)); r=(r^(t*lastans)); if (l>r) swap(l, r); for (int i=0; i<seg.size(); i++) if (seg[i].first!=-1 && min(seg[i].second, r)-max(seg[i].first, l)+1>=k) ans++; cout<<ans<<'\n'; lastans=ans; } } } void SubTaskTwo() { } void SubTaskThree() { }

Compilation message (stderr)

segments.cpp: In function 'void SubTaskOne(int, int)':
segments.cpp:50:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i=0; i<seg.size(); i++)
                  ~^~~~~~~~~~~
#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...