Submission #1104074

#TimeUsernameProblemLanguageResultExecution timeMemory
1104074vjudge1XOR (IZhO12_xor)C++17
0 / 100
1 ms336 KiB
// بسم الله الرحمن الرحيم // All praise is due to ALLAH alone #include<bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define endl '\n' #define exit return 0 #define ll long long int #define ull unsigned long long int #define read freopen ("input.txt","r",stdin); #define write freopen ("output.txt","w",stdout); #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define print_vec(vec) for(int i=0;i<vec.size();i++){cout<<vec[i]<<' ';}cout<<"\n"; #define print_set(st) for(auto it=st.begin();it!=st.end();it++){cout<<*it<<' ';}cout<<"\n"; typedef tree<ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update>ordered_set; #define print_pair(vec) for(int i=0;i<vec.size();i++)cout<<vec[i].first<<' '<<vec[i].second<<endl; #define dbg(num) cerr<< "Line "<<__LINE__ <<": "<< #num <<" = "<<(num)<<endl // find_by_order() and order_of_key() // k-th sorted element and lower_bound //priority_queue <int, vector<int>, greater<int> > pq; **non_decreasing //int dx[] = { -2, -2, -1, -1, 1, 1, 2, 2}; //int dy[] = { -1, 1, -2, 2, -2, 2, -1, 1}; ll lcm (ll a, ll b) {return a * (b / __gcd(a, b));} int dx[] = { -1, 0, +1, 0}; int dy[] = {0, +1, 0, -1}; #define sz 200001 #define mod 1000000007 void solve() { ll n, x; cin >> n >> x; ll arr[n + 1]; map<ll, ll>prefix; vector<ll>maxi(n + 1, 0); vector<int>index(n + 1, 1e9); ll curr = 0; int ans = 0, start; for (int i = 1; i <= n; i++) { cin >> arr[i]; curr ^= arr[i]; ll need = curr ^ x; if (prefix[need]) { int id = prefix[need]; if (maxi[id] > need) { id = index[id]; } int len = i - id + 1; if (len > ans) ans = len, start = id; } if (prefix[curr] == 0) prefix[curr] = i; if (maxi[i - 1] > curr) maxi[i] = maxi[i - 1], index[i] = index[i - 1]; else maxi[i] = curr, index[i] = i; } cout << start << ' ' << ans << endl; } int main() { fast; int tc = 1; //cin >> tc; while (tc--) solve(); //.............................................. ٱلْحَمْدُ لِلَّٰ...................................... }

Compilation message (stderr)

xor.cpp: In function 'void solve()':
xor.cpp:62:19: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
   62 |  cout << start << ' ' << ans << endl;
      |                   ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...