Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Author: 曹北健(37509)
- Result: AC Submission_id: 4303146
- Created at: Tue Apr 12 2022 22:21:02 GMT+0800 (China Standard Time)
- Problem: 5566 Time: 19 Memory: 1696
- */
- #include <stdio.h>
- int a[8192] = { 0 }, b[8192] = { 0 };
- int findmax(int *x, int n){
- int i = 0, M = (int)0x80000000, ans = 0;
- for(i = 0; i < n; i++){
- if(x[i] > M){
- ans = i; M = x[i];
- }
- }
- return ans;
- }
- int main(){
- int n, m, l, r, i, k;
- scanf("%d%d", &n, &m);
- for(i = 1; i <= n; i++){
- scanf("%d", a + i);
- }
- while(m--){
- scanf("%d%d", &l, &r);
- memcpy(b, a + l, 4 * (r - l + 1));
- k = findmax(b, r - l + 1);
- b[k] = (int)0x80000000;
- k = findmax(b, r - l + 1);
- b[k] = (int)0x80000000;
- k = findmax(b, r - l + 1);
- printf("%d\n", b[k]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment