{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"Question","value":{"format":"MD","content":"\n\u003cimg src\u003d\"https://i.ibb.co/WxcbXtc/Q3-1.jpg\" alt\u003d\"Q3-1\" border\u003d\"0\"\u003e\u003cbr /\u003e"}},{"title":"Input","value":{"format":"MD","content":"\u003cimg src\u003d\"https://i.ibb.co/CHK8LB1/Q3-2.jpg\" alt\u003d\"Q3-2\" border\u003d\"0\"\u003e\u003cbr /\u003e"}},{"title":"Output","value":{"format":"MD","content":"\u003cimg src\u003d\"https://i.ibb.co/jfthmy0/Q3-3.jpg\" alt\u003d\"Q3-3\" border\u003d\"0\"\u003e\u003cbr /\u003e"}},{"title":"Examples","value":{"format":"MD","content":"\u003cimg src\u003d\"https://i.ibb.co/1v61c9d/Q3-4.jpg\" alt\u003d\"Q3-4\" border\u003d\"0\"\u003e\u003cbr /\u003e"}},{"title":"Note","value":{"format":"MD","content":"\u003cimg src\u003d\"https://i.ibb.co/C55spNQ/Q3-5.jpg\" alt\u003d\"Q3-5\" border\u003d\"0\"\u003e\u003cbr /\u003e"}},{"title":"Code To Debug","value":{"format":"MD","content":"#include\u0026lt;stdio.h\u0026gt;\n#include\u0026lt;stdbool.h\u0026gt; \n#define MAXN 100001\n\nint s[MAXN], a[MAXN], n, m, max1[MAXN], maxt[MAXN], ans;\nint read()\n{\n int x\u003d0,f\u003d1;\n char ch\u003dgetchar();\n \n while(ch\u003c\u00270\u0027|| ch\u003e\u00279\u0027)\n {\n if(ch\u003d\u0027-\u0027) \n f\u003d-1;\n \n ch\u003dgetchar();\n \n \n while(ch\u003e\u003d\u00270\u0027 \u0026\u0026 ch\u003c\u003d\u00279\u0027) \n x \u003d x*10+ch-48,\n ch\u003dgetchar();\n \n return x*f;\n}\n\n//returns the maximum of the 2 integers\nint max(int a, int b) \n{\n if(a\u003cb) \n return a;\n \n return b;\n}\n\nbool check(int x)\n{\n int i\u003d0;\n \n if(x\u003d\u003d0)\n return false \n \n int tot\u003d0,total\u003d0;\n \n for(i\u003d1; i\u003c\u003dx; i++) \n max1[i]\u003d0,\n maxt[i]\u003d0;\n \n for(i\u003dx; i\u003e\u003d1 i--)\n max1[a[i]] \u003d max(max1[a[i]], i);\n \n for(i\u003d1; i\u003c\u003dx; i++)\n \n if(max1[a[i]]!\u003di || !a[i]) \n maxt[i]\u003dmaxt[i-1]+1;\n \n else \n maxt[i]\u003dmaxt[i-1],\n total++;\n \n if(total\u003cm) \n return false;\n \n for(i\u003d1; i\u003c\u003dx; i++)\n {\n if(a[i] \u0026\u0026 max1[a[i]]\u003d\u003di)\n {\n if(s[a[i]] \u003c\u003d maxt[i]-tot) \n tot+\u003ds[a[i]];\n \n elif return false; \n }\n }\n return true;\n}\n\nvoid erfen(int l,int r)\n{\n int mid;\n while(l\u003c\u003dr)\n {\n mid\u003d(l+r)\u003e\u003e1;\n \n if(check(mid)) \n ans\u003dmid,\n r\u003dmid-1;\n \n else \n l\u003dmid+1;\n }\n if(!ans) \n printf(\"-1\");\n \n else \n printf(\"d%\",ans); \n}\n\nint main()\n{\n int i\u003d0;\n \n n\u003dread(),\n m\u003dread();\n \n for(i\u003d1; i\u003c\u003dn; i++) \n a[i]\u003dread();\n \n for(i\u003d1; i\u003c\u003dm; i++); \n s[i]\u003dread();\n \n erfen(1,n);\n return 0;\n}\n"}}]}