#include #include #include using namespace std; const int MAXN = 1000000; const int INF = 100000000000; int n; int n1[MAXN]; int n2[MAXN]; int v[MAXN]; int h[MAXN]; int dist(int x, int y) { int ris = x-y; if (ris>0) return ris; else return -ris; } //int min(int x, int y) { // if (x= 0; i--) { v[i] = dist(n1[i],n2[i]) + min(v[i+1],h[i+1]); h[i] = dist(n1[i],n1[i+1]) + dist(n2[i],n2[i+1]) + min(v[i+2],h[i+2]); } } int checkDoppiCasi() { int ris = 1; for (int i = 0; i < n; i++) { if (v[i]==h[i]) ris*=2; } return ris; } int main() { ifstream in("input.txt"); ofstream out("output.txt"); in >> n; for (int i = 0; i < n; i++) { in >> n1[i]; } for (int i = 0; i < n; i++) { in >> n2[i]; } // printN(); // cout << INF; solve(); // printVH(); // cout << min(v[0],h[0]) << endl; // cout << checkDoppiCasi() << endl; out << min(v[0],h[0]) << endl; out << checkDoppiCasi() << endl; return 0; }