cses

My solution for the coding challenges of cses.fi
git clone https://git.tronto.net/cses
Download | Log | Files | Refs | README

sum_of_two_values_1640.cpp (500B)


      1 #include <algorithm>
      2 #include <iostream>
      3 #include <vector>
      4 
      5 int main() {
      6 	int n, x;
      7 	std::cin >> n >> x;
      8 	std::vector<std::pair<int, int>> a(n);
      9 	for (int i = 0; i < n; i++) {
     10 		std::cin >> a[i].first;
     11 		a[i].second = i;
     12 	}
     13 	std::sort(a.begin(), a.end());
     14 
     15 	int i{0}, j{n-1};
     16 	while (i < j) {
     17 		auto [ai, ii] = a[i];
     18 		auto [aj, ij] = a[j];
     19 		if (ai + aj < x) i++;
     20 		else if (ai + aj > x) j--;
     21 		else {
     22 			std::cout << ii+1 << " " << ij+1 << "\n";
     23 			return 0;
     24 		}
     25 	}
     26 	std::cout << "IMPOSSIBLE\n";
     27 }