Cod sursa(job #2526761)

Utilizator TheGodFather2131Alexandru Miclea TheGodFather2131 Data 19 ianuarie 2020 10:32:26
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.44 kb
//ALEXANDRU MICLEA

#include <vector>
#include <algorithm>
#include <string>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>

using namespace std;

#include <iostream>
/*#include <fstream>
ifstream cin("scmax.in"); ofstream cout("scmax.out");*/

//VARIABLES

int n, m, c, nr;
int v[100005];


//FUNCTIONS

int caut_bin0(int nr) {
	int st = 1, dr = n;
	int ans = -1;
	while (st <= dr) {
		int mid = st + dr;
		mid /= 2;

		if (v[mid] == nr) {
			ans = mid;
			dr = mid + 1;
		}

		else st = mid - 1;
	}
}

int caut_bin1(int nr) {
	int st = 1, dr = n;
	int ans = -1;
	while (st <= dr) {
		int mid = st + dr;
		mid /= 2;

		if (v[mid] <= nr) {
			ans = mid;
			dr = mid + 1;
		}

		else st = mid - 1;
	}
}

int caut_bin2(int nr) {
	int st = 1, dr = n;
	int ans = -1;
	while (st <= dr) {
		int mid = st + dr;
		mid /= 2;

		if (v[mid] >= nr) {
			ans = mid;
			st = mid - 1;
		}

		else dr = mid + 1;
	}
}


//MAIN
int main() {

	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> v[i];
	}

	cin >> m;
	for (int i = 1; i <= m; i++) {
		cin >> c >> nr;

		if (c == 0) caut_bin0(nr);

		else if (c == 1) caut_bin1(nr);

		else if (c == 2) caut_bin2(nr);
	}

	return 0;
}