Объяснение:
#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int N, A, B;
cin >> N;
vector < vector <int>> IO;
int lastDay = 0;
for (int i = 0; i < N; i++) {
cin >> A >> B;
IO.push_back(vector<int>());
IO[i].push_back(A);
IO[i].push_back(B);
IO[i].push_back(i);
}
sort(IO.begin(), IO.end());
for (int i = 0; i < N; i++)
{
if (lastDay >= IO[i][1]) {
IO[i][0] = -1;
IO[i][1] = -1;
}
else {
if (lastDay < IO[i][0]) {
lastDay = IO[i][1];
}
else if (lastDay >= IO[i][0]) {
IO[i][0] = lastDay+1;
lastDay = IO[i][1];
}
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (IO[j][2] == i) {
cout << IO[j][0] << " " << IO[j][1] << endl;
break;
}
}
}
return 0;
}
Pascal ABC
Объяснение:
function Armstrong(isarm: longint): boolean;
var m, p, s: integer;
a, b: array[1..100] of integer;
begin
s := 0;
m := isarm;
p := 0;
while m <> 0 do begin
inc(p);
a[p] := m mod 10;
m := m div 10
end;
for var i := 1 to p do begin
b[i] := 1;
for var j := 1 to p do
b[i] *= a[i];
s += b[i];
end;
if s = isarm then Armstrong := true else Armstrong := false;
end;
var kol: integer;
begin
WriteLn('Введите размер массива: '); var n := ReadInteger;
WriteLn('Введите элементы массива по одному: '); var a := ReadArrInteger(n);
WriteLn('Числа Армстронга: ');
for var i := 0 to n - 1 do
if Armstrong(a[i]) then begin
Write(a[i], ', '); inc(kol);
end;
WriteLn();
WriteLn('Количество чисел Армстронга в массиве равно ', kol);
end.
var
i, n: integer;
x,y : array[1..100] of integer;
per: real;
function dlina(x1,x2,y1,y2 : integer) : real;
begin
dlina := sqrt(sqr(x2-x1) + sqr(y2-y1));
end;
begin
write('введите кол-во сторон: ');
readln(n);
per := 0;
write('введите x1 координату: ');
readln(x[1]);
write('введите y1 координату: ');
readln(y[1]);
for i:=2 to n do
begin
write('введите х',i,' координату: ');
readln(x[i]);
write('введите y',i,' координату: ');
readln(y[i]);
per := per + dlina(x[i-1],y[i-1],x[i],y[i]);
end;
per := per + dlina(x[i],y[i],x[1],y[1]);
writeln('периметр искомого ',n,' угольника',per);
readln;
end.