Algorithms
14 subscribers
1 photo
206 links
asosiy kanal: @diyorblog
Download Telegram
194-masala

Qiyinchilik: 8%
Tartib raqam: 0529

https://robocontest.uz/tasks/0529

Yechim:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long a = scanner.nextLong();
long c = scanner.nextLong();
long k = scanner.nextLong();
long j = a / c;
if (a - (j * c) >= k) {
j += 1;
}
if (c <= k) {
System.out.println(0);
} else {
System.out.println(j);
}
}
}
195-masala

Qiyinchilik: 8%
Tartib raqam: 0565

https://robocontest.uz/tasks/0565

Yechim:

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int d = scanner.nextInt();
List<Integer> arr = new ArrayList<>();

for (int i = a; i <= b; i++) {
if (!arr.contains(i)) {
arr.add(i);
}
}

for (int y = c; y <= d; y++) {
if (!arr.contains(y)) {
arr.add(y);
}
}

System.out.println(n - arr.size());
}
}
197-masala

Qiyinchilik: 30%
Tartib raqam: 0031

https://robocontest.uz/tasks/0031

Yechim:

from math import gcd
t=int(input())
res=[]
while t>0:
t-=1
a,b,c=map(int,input().split())
a,b=min(a,b), max(a,b)
if c<b and c%(gcd(a,b))==0:
res.append('YES')
else:
res.append('NO')
for i in res:
print(i)
198-masala

Qiyinchilik: 15%
Tartib raqam: 1041

https://robocontest.uz/tasks/1041

Yechim:

#include <iostream>
#include <vector>
using namespace std;

int main() {
int n;
cin >> n;

vector<vector<int>> matrix(2 * n - 1, vector<int>(2 * n - 1, 1));

for (int i = 1; i < n; i++) {
for (int j = i; j <= 2 * n - i - 2; j++) {
matrix[i][j] = matrix[2 * n - i - 2][j] = matrix[j][i] = matrix[j][2 * n - i - 2] = i + 1;
}
}

for (int i = 0; i < 2 * n - 1; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
cout << matrix[i][j] << ' ';
}
cout << endl;
}

return 0;
}
199-masala

Qiyinchilik: 10%
Tartib raqam: 0954

https://robocontest.uz/tasks/0954

Yechim:

n = int(input())
n = abs(n)
last_digit = n % 10
remaining = n // 10 - 2 * last_digit

if remaining % 7 == 0:
print("YES")
else:
print("NO")
200-masala

Qiyinchilik: 50%
Tartib raqam: 0922

https://robocontest.uz/tasks/0922

Yechim:

n = int(input())
v = list(map(int, input().split()))
g = []
for i in range(3001):
h = [0] * n
g.append(h)

used = [False] * 3001
used[0] = True

for i in range(n):
for j in range(1, 3001):
if j - v[i] >= 0:
if used[j - v[i]] and not used[j]:
for ind in range(n):
g[j][ind] = g[j - v[i]][ind]
g[j][i] += 1
used[j] = True

q = int(input())
a = list(map(int, input().split()))
for i in range(q):
for j in range(a[i], -1, -1):
if used[j]:
print(j)
for ind in range(n):
print(g[j][ind], end=" ")
print()
break
204-masala

Qiyinchilik: 8%
Tartib raqam: 0728

https://robocontest.uz/tasks/0728

Yechim:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long a = scanner.nextLong();
long b = scanner.nextLong();
long c = 0;
if (a % b == 0) {
System.out.println(a);
} else {
c = a / b;
System.out.println(b * (c + 1));
}
}
}
Robocontest, yil yakuni
Leetcode

#1 #easy #javascript

Two Sum
https://leetcode.com/problems/two-sum/description/


var twoSum = function (nums, target) {
let finalArr = [];
for (let i = 0; i <= nums.length; i++) {
for (let y = i + 1; y <= nums.length; y++) {
if (nums[i] + nums[y] == target) {
finalArr.push(i);
finalArr.push(y);
}
}
}
return finalArr;
};
#easy #javascript

Roman to Integer
https://leetcode.com/problems/roman-to-integer/description/

My solution:

var romanToInt = function (s) {
let sum = 0;
for (let i = 0; i < s.length; i++) {
if (s[i] == "I") {
if (s[i + 1] == "V") {
sum += 4;
i++;
} else if (s[i + 1] == "X") {
sum += 9;
i++;
} else {
sum++;
}
} else if (s[i] == "X") {
if (s[i + 1] == "L") {
sum += 40;
i++;
} else if (s[i + 1] == "C") {
sum += 90;
i++;
} else {
sum += 10;
}
} else if (s[i] == "C") {
if (s[i + 1] == "D") {
sum += 400;
i++;
} else if (s[i + 1] == "M") {
sum += 900;
i++;
} else {
sum += 100;
}
} else if (s[i] == "M") {
sum += 1000;
} else if (s[i] == "V") {
sum += 5;
} else if (s[i] == "L") {
sum += 50;
} else if (s[i] == "D") {
sum += 500;
}
}
return sum;
};


Chatgpt:

var romanToInt = function(s) {
const romanMap = {
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000
};

let sum = 0;

for (let i = 0; i < s.length; i++) {
if (i < s.length - 1 && romanMap[s[i]] < romanMap[s[i + 1]]) {
sum -= romanMap[s[i]];
} else {
sum += romanMap[s[i]];
}
}

return sum;
};