Cod sursa(job #3360003)

Utilizator rayanMansour Rayan rayan Data 7 iulie 2026 16:58:09
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 9.19 kb
<html>
<head>
<title>infoarenacautarebinara.cpp</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.s0 { color: #b3ae60;}
.s1 { color: #bcbec4;}
.s2 { color: #6aab73;}
.s3 { color: #cf8e6d;}
.s4 { color: #bcbec4;}
.s5 { color: #2aacb8;}
</style>
</head>
<body bgcolor="#191a1c">
<table CELLSPACING=0 CELLPADDING=5 COLS=1 WIDTH="100%" BGCOLOR="#606060" >
<tr><td><center>
<font face="Arial, Helvetica" color="#000000">
infoarenacautarebinara.cpp</font>
</center></td></tr></table>
<pre><span class="s0">#include </span><span class="s2">&lt;bits/stdc++.h&gt;</span>
<span class="s3">using namespace </span><span class="s1">std</span><span class="s4">;</span>
<span class="s1">ifstream fin</span><span class="s4">(</span><span class="s2">&quot;cautbin.in&quot;</span><span class="s4">);</span>
<span class="s1">ofstream fout</span><span class="s4">(</span><span class="s2">&quot;cautbin.out&quot;</span><span class="s4">);</span>
<span class="s3">int </span><span class="s1">v</span><span class="s4">[</span><span class="s5">100001</span><span class="s4">];</span>
<span class="s3">int </span><span class="s1">main</span><span class="s4">()</span>
<span class="s4">{</span>
    <span class="s3">int </span><span class="s1">n</span><span class="s4">,</span><span class="s1">m</span><span class="s4">,</span><span class="s1">f</span><span class="s4">,</span><span class="s1">x</span><span class="s4">,</span><span class="s1">mijl</span><span class="s4">;</span>
    <span class="s1">fin</span><span class="s4">&gt;&gt;</span><span class="s1">n</span><span class="s4">;</span>
    <span class="s3">for</span><span class="s4">(</span><span class="s3">int </span><span class="s1">i</span><span class="s4">=</span><span class="s5">1</span><span class="s4">; </span><span class="s1">i</span><span class="s4">&lt;=</span><span class="s1">n</span><span class="s4">; </span><span class="s1">i</span><span class="s4">++) {</span>
        <span class="s1">fin</span><span class="s4">&gt;&gt;</span><span class="s1">v</span><span class="s4">[</span><span class="s1">i</span><span class="s4">];</span>
    <span class="s4">}</span>
    <span class="s1">fin</span><span class="s4">&gt;&gt;</span><span class="s1">m</span><span class="s4">;</span>
    <span class="s3">for</span><span class="s4">(</span><span class="s3">int </span><span class="s1">ds</span><span class="s4">=</span><span class="s5">1</span><span class="s4">; </span><span class="s1">ds</span><span class="s4">&lt;=</span><span class="s1">m</span><span class="s4">; </span><span class="s1">ds</span><span class="s4">++) {</span>
        <span class="s1">fin</span><span class="s4">&gt;&gt;</span><span class="s1">f</span><span class="s4">&gt;&gt;</span><span class="s1">x</span><span class="s4">;</span>
        <span class="s3">if</span><span class="s4">(</span><span class="s1">f</span><span class="s4">==</span><span class="s5">0</span><span class="s4">) {</span>
            <span class="s3">int </span><span class="s1">st</span><span class="s4">=</span><span class="s5">1</span><span class="s4">,</span><span class="s1">dr</span><span class="s4">=</span><span class="s1">n</span><span class="s4">,</span><span class="s1">poz</span><span class="s4">=-</span><span class="s5">1</span><span class="s4">;</span>
            <span class="s3">while</span><span class="s4">(</span><span class="s1">st</span><span class="s4">&lt;=</span><span class="s1">dr</span><span class="s4">) {</span>
                <span class="s1">mijl</span><span class="s4">=(</span><span class="s1">st</span><span class="s4">+</span><span class="s1">dr</span><span class="s4">)/</span><span class="s5">2</span><span class="s4">;</span>
                <span class="s3">if</span><span class="s4">(</span><span class="s1">v</span><span class="s4">[</span><span class="s1">mijl</span><span class="s4">]&lt;=</span><span class="s1">x</span><span class="s4">) {</span>
                    <span class="s3">if</span><span class="s4">(</span><span class="s1">v</span><span class="s4">[</span><span class="s1">mijl</span><span class="s4">]==</span><span class="s1">x</span><span class="s4">) {</span>
                        <span class="s1">poz</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">;</span>
                    <span class="s4">}</span>
                    <span class="s1">st</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">+</span><span class="s5">1</span><span class="s4">;</span>
                <span class="s4">} </span><span class="s3">else </span><span class="s4">{</span>
                    <span class="s1">dr</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">-</span><span class="s5">1</span><span class="s4">;</span>
                <span class="s4">}</span>
            <span class="s4">}</span>
            <span class="s1">fout</span><span class="s4">&lt;&lt;</span><span class="s1">poz</span><span class="s4">&lt;&lt;</span><span class="s2">'</span><span class="s3">\n</span><span class="s2">'</span><span class="s4">;</span>
        <span class="s4">}</span>
        <span class="s3">if</span><span class="s4">(</span><span class="s1">f</span><span class="s4">==</span><span class="s5">1</span><span class="s4">) {</span>
            <span class="s3">int </span><span class="s1">st</span><span class="s4">=</span><span class="s5">1</span><span class="s4">,</span><span class="s1">dr</span><span class="s4">=</span><span class="s1">n</span><span class="s4">,</span><span class="s1">poz</span><span class="s4">=-</span><span class="s5">1</span><span class="s4">;</span>
            <span class="s3">while</span><span class="s4">(</span><span class="s1">st</span><span class="s4">&lt;=</span><span class="s1">dr</span><span class="s4">) {</span>
                <span class="s1">mijl</span><span class="s4">=(</span><span class="s1">st</span><span class="s4">+</span><span class="s1">dr</span><span class="s4">)/</span><span class="s5">2</span><span class="s4">;</span>
                <span class="s3">if</span><span class="s4">(</span><span class="s1">v</span><span class="s4">[</span><span class="s1">mijl</span><span class="s4">]&lt;=</span><span class="s1">x</span><span class="s4">) {</span>
                    <span class="s1">poz</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">;</span>
                    <span class="s1">st</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">+</span><span class="s5">1</span><span class="s4">;</span>
                <span class="s4">} </span><span class="s3">else </span><span class="s4">{</span>
                    <span class="s1">dr</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">-</span><span class="s5">1</span><span class="s4">;</span>
                <span class="s4">}</span>
            <span class="s4">}</span>
            <span class="s1">fout</span><span class="s4">&lt;&lt;</span><span class="s1">poz</span><span class="s4">&lt;&lt;</span><span class="s2">'</span><span class="s3">\n</span><span class="s2">'</span><span class="s4">;</span>
        <span class="s4">}</span>
        <span class="s3">if</span><span class="s4">(</span><span class="s1">f</span><span class="s4">==</span><span class="s5">2</span><span class="s4">) {</span>
            <span class="s3">int </span><span class="s1">st</span><span class="s4">=</span><span class="s5">1</span><span class="s4">,</span><span class="s1">dr</span><span class="s4">=</span><span class="s1">n</span><span class="s4">,</span><span class="s1">poz</span><span class="s4">=-</span><span class="s5">1</span><span class="s4">;</span>
            <span class="s3">while</span><span class="s4">(</span><span class="s1">st</span><span class="s4">&lt;=</span><span class="s1">dr</span><span class="s4">) {</span>
                <span class="s1">mijl</span><span class="s4">=(</span><span class="s1">st</span><span class="s4">+</span><span class="s1">dr</span><span class="s4">)/</span><span class="s5">2</span><span class="s4">;</span>
                <span class="s3">if</span><span class="s4">(</span><span class="s1">v</span><span class="s4">[</span><span class="s1">mijl</span><span class="s4">]&gt;=</span><span class="s1">x</span><span class="s4">) {</span>
                    <span class="s1">poz</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">;</span>
                    <span class="s1">dr</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">-</span><span class="s5">1</span><span class="s4">;</span>
                <span class="s4">} </span><span class="s3">else </span><span class="s4">{</span>
                    <span class="s1">st</span><span class="s4">=</span><span class="s1">mijl</span><span class="s4">+</span><span class="s5">1</span><span class="s4">;</span>
                <span class="s4">}</span>
            <span class="s4">}</span>
            <span class="s1">fout</span><span class="s4">&lt;&lt;</span><span class="s1">poz</span><span class="s4">&lt;&lt;</span><span class="s2">'</span><span class="s3">\n</span><span class="s2">'</span><span class="s4">;</span>
        <span class="s4">}</span>
    <span class="s4">}</span>
    <span class="s3">return </span><span class="s5">0</span><span class="s4">;</span>
<span class="s4">}</span></pre>
</body>
</html>