---
# System prepended metadata

title: Nov 22

---

# Sửa bài 22/11 Contest Tham lam 2 
### Lý Thuyết 
1. Mảng 1 chiều
- Lưu danh sách các phần tử
Ví dụ:
```= 
a = [1,2,3,4]
kẹo = ['socola', 'sữa', 'dâu', 'đồng']
```

2. Mảng 2 chiều
- Lưu danh sách các phần tử mà mỗi phần tử trong đó là 1 mảng 1 chiều
```= 
a = [[1,'a'],[2,'b'],[3,'c'],[4,'d']]
kẹo = [['socola', 1000], ['sữa', 500], ['dâu', 500], ['đồng', 10000]]
```
- Truy xuất
```=
a[0] = [1, 'a']
a[0][0] = 1
a[0][1] = 'a'
kẹo[3][0] = 'đồng'
```
3. Sắp xếp
- Mảng 1 chiều
```python=
a.sort()
kẹo.sort() #['dâu', 'socola', 'sữa', 'đồng']
```
- Mảng 2 chiều
```python=
kẹo.sort()
kẹo = [['socola', 1000], ['sữa', 500], ['dâu', 500], ['đồng', 10000],['dâu',5000]]
kẹo.sort()
```
### Mua Chocolate
1. Cách giải
- Chọn socola theo loại có giá tiền rẻ hơn để tôi ưu số lượng bò
2. Code
```python=
n, b = tự nhập vào
a = []
for i in range(n):
    tmp = list(map(int,input().split()))
    a.append(tmp)
a.sort()

d = 0

for i in range(n):
    if b - a[i][1]*a[i][0] >=0:
        b -= a[i][1]*a[i][0]
        d += a[i][1]
    else:
        d += b//a[i][0]
        break
print(d)
    
```
### Mua quà
```python=
n, m =tự nhập
a = tự nhập mảng
a.sort()
_min = a[n-1]-a[0]
for i in range(n - m + 1):
    _min = min(a[i + m - 1] - a[i], _min)
print(_min)
```

### DHEXP
```python=
n,k = tự nhập
a = tự nhập
tmp = a[0]
a2 = a[1:]
a2.sort()
a2.reverse()
a = [tmp]+a2
s = 0
for i in a:
    if k>=0:
        s+=i
        k-=1
    else:
        s-=i
print(s)
```

### Lì xì
```python=
n = tự nhập
a = []
for i in range(n):
    tmp = list(map(int,input().split()))
    tmp.reverse()
    a.append(tmp)
    
a.sort()
a.reverse()
s = 0
d = 1
for i in a:
    if d<=0:
        break
    else:
        d += i[0] - 1
        s += i[1]
print(s)
        
```
### Nối xích
```python=
n = 
a = 
a.sort()

x = n
d = 0
for i in range(x):
    if d + a[i] >= n - 1:
        d += n - d - 1  
        break
    else:
        n-=1
        d += a[i]
print(d)
```