import java.util.*;
public class Main {
public static void main
(String args
[]) { Scanner s
= new Scanner
(System.
in); int n = s.nextInt();
long q = s.nextLong();
long[] arr = new long[n + 1];
for (int i = 0; i < n; i++) { //there was an error here in your previous code.
arr[i] = s.nextInt();
}
long[] tree = new long[4 * n + 1];
for(int i=0;i<tree.length;i++) //added
tree[i]=-1; //added
// buildTree(arr, 1, n, tree, 1);
buildTree(arr, 0, n-1, tree, 1); //there was an error here in your previous code.
while (q-- > 0) {
int what = s.nextInt();
if (what == 1) {
int l = s.nextInt();
int r = s.nextInt();
long min = query(0, n-1, l-1, r-1, tree, 1);//there was an error here in your previous code.
} else {
int x = s.nextInt();
int y = s.nextInt();
updateNode(tree, 0, n-1, x-1, y, 1); //there was an error here in your previous code.
}
}
}
public static void buildTree(long[] arr, int s, int e, long[] tree, int index) {
if (s == e) {
tree[index] = arr[s];
return;
}
int mid = (s + e) / 2;
buildTree(arr, s, mid, tree, 2 * index);
buildTree(arr, mid + 1, e, tree, 2 * index + 1);
tree
[index
] = Math.
min(tree
[2 * index
], tree
[2 * index
+ 1]); return;
}
public static long query(long ss, long se, int qs, int qe, long[] tree, int index) {
// complete
if (ss >= qs && se <= qe) {
return tree[index];
}
// no overlap
if (ss > qe || qs > se)
// partial
long mid = (ss + se) / 2;
long left = query(ss, mid, qs, qe, tree, 2 * index);
long right = query(mid + 1, se, qs, qe, tree, 2 * index + 1);
return Math.
min(left, right
); }
public static void updateNode(long[] tree, int ss, int se, int i, int increment, int index) {
// no overlap
if (i > se || i < ss)
return;
// complete
if (ss == se) {
tree[index] = increment; //there was an error here in your previous code.
return;
}
// partial
int mid = (ss + se) / 2;
updateNode(tree, ss, mid, i, increment, 2 * index);
updateNode(tree, mid + 1, se, i, increment, 2 * index + 1);
tree
[index
] = Math.
min(tree
[2 * index
], tree
[2 * index
+ 1]); return;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSkgewoJCVNjYW5uZXIgcyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJaW50IG4gPSBzLm5leHRJbnQoKTsKCQlsb25nIHEgPSBzLm5leHRMb25nKCk7CgkJbG9uZ1tdIGFyciA9IG5ldyBsb25nW24gKyAxXTsKCQlmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgeyAvL3RoZXJlIHdhcyBhbiBlcnJvciBoZXJlIGluIHlvdXIgcHJldmlvdXMgY29kZS4KCQkJYXJyW2ldID0gcy5uZXh0SW50KCk7CgkJfQoJCWxvbmdbXSB0cmVlID0gbmV3IGxvbmdbNCAqIG4gKyAxXTsKCQlmb3IoaW50IGk9MDtpPHRyZWUubGVuZ3RoO2krKykgLy9hZGRlZAoJCQl0cmVlW2ldPS0xOyAvL2FkZGVkCgkJCi8vCQlidWlsZFRyZWUoYXJyLCAxLCBuLCB0cmVlLCAxKTsKCQlidWlsZFRyZWUoYXJyLCAwLCBuLTEsIHRyZWUsIDEpOyAvL3RoZXJlIHdhcyBhbiBlcnJvciBoZXJlIGluIHlvdXIgcHJldmlvdXMgY29kZS4KCgkJd2hpbGUgKHEtLSA+IDApIHsKCQkJaW50IHdoYXQgPSBzLm5leHRJbnQoKTsKCQkJaWYgKHdoYXQgPT0gMSkgewoJCQkJaW50IGwgPSBzLm5leHRJbnQoKTsKCQkJCWludCByID0gcy5uZXh0SW50KCk7CgkJCQlsb25nIG1pbiA9IHF1ZXJ5KDAsIG4tMSwgbC0xLCByLTEsIHRyZWUsIDEpOy8vdGhlcmUgd2FzIGFuIGVycm9yIGhlcmUgaW4geW91ciBwcmV2aW91cyBjb2RlLgoJCQkJU3lzdGVtLm91dC5wcmludGxuKG1pbik7CgkJCX0gZWxzZSB7CgkJCQlpbnQgeCA9IHMubmV4dEludCgpOwoJCQkJaW50IHkgPSBzLm5leHRJbnQoKTsKCQkJCXVwZGF0ZU5vZGUodHJlZSwgMCwgbi0xLCB4LTEsIHksIDEpOyAvL3RoZXJlIHdhcyBhbiBlcnJvciBoZXJlIGluIHlvdXIgcHJldmlvdXMgY29kZS4KCQkJfQoJCX0KCgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIGJ1aWxkVHJlZShsb25nW10gYXJyLCBpbnQgcywgaW50IGUsIGxvbmdbXSB0cmVlLCBpbnQgaW5kZXgpIHsKCQlpZiAocyA9PSBlKSB7CgkJCXRyZWVbaW5kZXhdID0gYXJyW3NdOwoJCQlyZXR1cm47CgkJfQoJCWludCBtaWQgPSAocyArIGUpIC8gMjsKCQlidWlsZFRyZWUoYXJyLCBzLCBtaWQsIHRyZWUsIDIgKiBpbmRleCk7CgkJYnVpbGRUcmVlKGFyciwgbWlkICsgMSwgZSwgdHJlZSwgMiAqIGluZGV4ICsgMSk7CgkJdHJlZVtpbmRleF0gPSBNYXRoLm1pbih0cmVlWzIgKiBpbmRleF0sIHRyZWVbMiAqIGluZGV4ICsgMV0pOwoJCXJldHVybjsKCX0KCglwdWJsaWMgc3RhdGljIGxvbmcgcXVlcnkobG9uZyBzcywgbG9uZyBzZSwgaW50IHFzLCBpbnQgcWUsIGxvbmdbXSB0cmVlLCBpbnQgaW5kZXgpIHsKCQkvLyBjb21wbGV0ZQoJCWlmIChzcyA+PSBxcyAmJiBzZSA8PSBxZSkgewoJCQlyZXR1cm4gdHJlZVtpbmRleF07CgkJfQoJCS8vIG5vIG92ZXJsYXAKCQlpZiAoc3MgPiBxZSB8fCBxcyA+IHNlKQoJCQlyZXR1cm4gSW50ZWdlci5NQVhfVkFMVUU7CgkJLy8gcGFydGlhbAoJCWxvbmcgbWlkID0gKHNzICsgc2UpIC8gMjsKCQlsb25nIGxlZnQgPSBxdWVyeShzcywgbWlkLCBxcywgcWUsIHRyZWUsIDIgKiBpbmRleCk7CgkJbG9uZyByaWdodCA9IHF1ZXJ5KG1pZCArIDEsIHNlLCBxcywgcWUsIHRyZWUsIDIgKiBpbmRleCArIDEpOwoJCXJldHVybiBNYXRoLm1pbihsZWZ0LCByaWdodCk7Cgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIHVwZGF0ZU5vZGUobG9uZ1tdIHRyZWUsIGludCBzcywgaW50IHNlLCBpbnQgaSwgaW50IGluY3JlbWVudCwgaW50IGluZGV4KSB7CgkJLy8gbm8gb3ZlcmxhcAoJCWlmIChpID4gc2UgfHwgaSA8IHNzKQoJCQlyZXR1cm47CgkJLy8gY29tcGxldGUKCQlpZiAoc3MgPT0gc2UpIHsKCQkJdHJlZVtpbmRleF0gPSBpbmNyZW1lbnQ7IC8vdGhlcmUgd2FzIGFuIGVycm9yIGhlcmUgaW4geW91ciBwcmV2aW91cyBjb2RlLgoJCQlyZXR1cm47CgkJfQoJCS8vIHBhcnRpYWwKCQlpbnQgbWlkID0gKHNzICsgc2UpIC8gMjsKCQl1cGRhdGVOb2RlKHRyZWUsIHNzLCBtaWQsIGksIGluY3JlbWVudCwgMiAqIGluZGV4KTsKCQl1cGRhdGVOb2RlKHRyZWUsIG1pZCArIDEsIHNlLCBpLCBpbmNyZW1lbnQsIDIgKiBpbmRleCArIDEpOwoJCXRyZWVbaW5kZXhdID0gTWF0aC5taW4odHJlZVsyICogaW5kZXhdLCB0cmVlWzIgKiBpbmRleCArIDFdKTsKCQlyZXR1cm47Cgl9Cn0K