Submission #502235

#TimeUsernameProblemLanguageResultExecution timeMemory
502235vrohakXylophone (JOI18_xylophone)C++14
0 / 100
0 ms200 KiB
#include <bits/stdc++.h>
 
#include "xylophone.h"
 
using namespace std;
 
void solve(int n) {
   int rj1[n + 65], l1, l2, l3, stg1 = 0, flg=0, rj2[n+65];
   rj1[1] = 0;
   int odg1 = query(1, 2);
   l1 = odg1;
   int odg2 = query(2, 3);
   l2 = odg2;
   int odg3 = query(1, 3);
   l3 = odg3;
   rj1[2] = odg1;
   if (odg3 == odg2 + odg1) {
      rj1[3] = odg1 + odg2;
   } else {
      stg1 = 1;
      rj1[3] = odg1 - odg2;
   }
 
   int od1[n + 65], od2[n + 56], od3[n + 99];
   for (int i = 4; i < n + 1; i++) {
      odg1 = odg2;
      odg2 = query(i - 1, i);
      odg3 = query(i - 2, i);
      od1[i] = odg1;
      od2[i] = odg2;
      od3[i] = odg3;
 
      if (stg1 == 0) {
         if (odg3 == odg2 + odg1) {
            rj1[i] = rj1[i - 1] + odg2;
         } else {
            stg1 = 1;
            rj1[i] = rj1[i - 1] - odg2;
         }
      } else {
         if (odg3 == odg2 + odg1) {
            rj1[i] = rj1[i - 1] - odg2;
         } else {
            stg1 = 0;
            rj1[i] = rj1[i - 1] + odg2;
         }
      }
   }
 
	for(int i=1;i<=n;i++) rj2[i]=-rj1[i];
 
   int mini1 = 0x3f3f3f3f;
   for (int i = 1; i < n + 1; i++) {
      mini1 = min(mini1, rj1[i]);
   }
   mini1 = abs(mini1) + 1;  // ovdje je krivo bilo
   for (int i = 1; i < n + 1; i++) {
      rj1[i] = rj1[i] + mini1;
   }
 
	mini1 = 0x3f3f3f3f;
   for (int i = 1; i < n + 1; i++) {
      mini1 = min(mini1, rj2[i]);
   }
   mini1 = abs(mini1) + 1;  // ovdje je krivo bilo
   for (int i = 1; i < n + 1; i++) {
      rj2[i] = rj2[i] + mini1;
   }
 
	int idx1=-1, idx2=-1, mp1;
 
	for(int i=1;i<=n;i++){
		if(rj1[i] == 1) idx1 = i;
		if(rj1[i] == n) idx2 = i;
	}
 
	if(idx1 > idx2) flg=1;
 
   if (flg==0) {
      for (int i = 1; i < n + 1; i++) {
         answer(i, rj1[i]);
      }
   } else {
      for (int i = 1; i < n + 1; i++) {
         answer(i, rj2[i]);
      }
   }
 
   return;
}

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:8:21: warning: variable 'l1' set but not used [-Wunused-but-set-variable]
    8 |    int rj1[n + 65], l1, l2, l3, stg1 = 0, flg=0, rj2[n+65];
      |                     ^~
xylophone.cpp:8:25: warning: variable 'l2' set but not used [-Wunused-but-set-variable]
    8 |    int rj1[n + 65], l1, l2, l3, stg1 = 0, flg=0, rj2[n+65];
      |                         ^~
xylophone.cpp:8:29: warning: variable 'l3' set but not used [-Wunused-but-set-variable]
    8 |    int rj1[n + 65], l1, l2, l3, stg1 = 0, flg=0, rj2[n+65];
      |                             ^~
xylophone.cpp:24:8: warning: variable 'od1' set but not used [-Wunused-but-set-variable]
   24 |    int od1[n + 65], od2[n + 56], od3[n + 99];
      |        ^~~
xylophone.cpp:24:21: warning: variable 'od2' set but not used [-Wunused-but-set-variable]
   24 |    int od1[n + 65], od2[n + 56], od3[n + 99];
      |                     ^~~
xylophone.cpp:24:34: warning: variable 'od3' set but not used [-Wunused-but-set-variable]
   24 |    int od1[n + 65], od2[n + 56], od3[n + 99];
      |                                  ^~~
xylophone.cpp:70:24: warning: unused variable 'mp1' [-Wunused-variable]
   70 |  int idx1=-1, idx2=-1, mp1;
      |                        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...