Thank you Corona for giving me some time to do this
This commit is contained in:
parent
82e6cf7d10
commit
1f9cdd4cce
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env python
|
||||
for t in range(int(input())):
|
||||
n, k = map(int, input().split())
|
||||
print(sum(map(int, input().split())) % k)
|
|
@ -0,0 +1,48 @@
|
|||
#!/usr/bin/env python
|
||||
from itertools import count, takewhile
|
||||
from typing import Iterator, Set
|
||||
|
||||
|
||||
def binary(i: int, h: int) -> Iterator[int]:
|
||||
while h % i == 0:
|
||||
yield i
|
||||
i <<= 1
|
||||
|
||||
|
||||
def rail(x: Set[int], y: Set[int]) -> int:
|
||||
result = 0
|
||||
for h in map(abs, x):
|
||||
result += -h in y and h in y
|
||||
if h < 2: continue
|
||||
|
||||
k, z = h, list(takewhile(lambda j: j < h, binary(1, h*h)))
|
||||
while k % 2 == 0: k >>= 1
|
||||
for i in takewhile(lambda j: j*j <= k, count(3, 2)):
|
||||
start, stop = 0, len(z)
|
||||
while k % i == 0:
|
||||
k //= i
|
||||
z.extend(i*j for j in z[start:stop] if i*j < h)
|
||||
start, stop = stop, len(z)
|
||||
z.extend(i*j for j in z[start:stop] if i*j < h)
|
||||
start, stop = stop, len(z)
|
||||
if k > 1:
|
||||
start, stop = 0, len(z)
|
||||
z.extend(k*j for j in z[start:stop] if k*j < h)
|
||||
start, stop = stop, len(z)
|
||||
z.extend(k*j for j in z[start:stop] if k*j < h)
|
||||
|
||||
for i in z:
|
||||
j = h * h // i
|
||||
result += (-i in y and j in y) + (i in y and -j in y)
|
||||
return result
|
||||
|
||||
|
||||
for t in range(int(input())):
|
||||
input()
|
||||
x = set(map(int, input().split()))
|
||||
y = set(map(int, input().split()))
|
||||
|
||||
zero = 0 in x or 0 in y
|
||||
if 0 in x: x.remove(0)
|
||||
if 0 in y: y.remove(0)
|
||||
print((zero and len(x)*len(y)) + rail(x, y) + rail(y, x))
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env python
|
||||
from calendar import isleap
|
||||
from datetime import datetime
|
||||
|
||||
OVERLAP = [datetime(i or 400, 2, 7).weekday()
|
||||
in ([4] if isleap(i or 400) else [4, 5]) for i in range(400)]
|
||||
OOP = sum(OVERLAP)
|
||||
|
||||
|
||||
def longcook(start, end):
|
||||
delta = end - start
|
||||
if delta <= 0: return 0
|
||||
return delta//400*OOP + sum(OVERLAP[y % 400]
|
||||
for y in range(start, start + delta%400))
|
||||
|
||||
|
||||
for t in range(int(input())):
|
||||
m1, y1 = map(int, input().split())
|
||||
m2, y2 = map(int, input().split())
|
||||
print(longcook(y1+(m1>2), y2+(m2!=1)))
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env lua
|
||||
local read = io.read
|
||||
local print = print
|
||||
local table = {concat = table.concat, insert = table.insert}
|
||||
|
||||
for t = 1, read('*n') do
|
||||
local n, p = read('*n', '*n')
|
||||
local d = {}
|
||||
for i = 1, n do table.insert(d, read('*n')) end
|
||||
|
||||
local unanswered, previous = true, 1
|
||||
for k, v in ipairs(d) do
|
||||
if p % v ~= 0 then
|
||||
local c = {}
|
||||
for i = 1, k-1 do table.insert(c, 0) end
|
||||
table.insert(c, p//v+1)
|
||||
for i = k+1, n do table.insert(c, 0) end
|
||||
print(('YES %s'):format(table.concat(c, ' ')))
|
||||
unanswered = false
|
||||
break
|
||||
end
|
||||
|
||||
if v % previous ~= 0 then
|
||||
local c = {}
|
||||
for i = 1, k-2 do table.insert(c, 0) end
|
||||
table.insert(c, v//previous+1)
|
||||
table.insert(c, p//v-1)
|
||||
for i = k+1, n do table.insert(c, 0) end
|
||||
print(('YES %s'):format(table.concat(c, ' ')))
|
||||
unanswered = false
|
||||
break
|
||||
end
|
||||
previous = v
|
||||
end
|
||||
if unanswered then print('NO') end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
for t in range(int(input())):
|
||||
input()
|
||||
print(sum(map(min, sorted(map(int, input().split())),
|
||||
sorted(map(int, input().split())))))
|
|
@ -0,0 +1,54 @@
|
|||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
int k, total_profit {0};
|
||||
string movies {"ABCD"};
|
||||
vector<int> showtimes {3, 6, 9, 12};
|
||||
vector<int> prices {25, 50, 75, 100};
|
||||
|
||||
cin >> k;
|
||||
while (k--)
|
||||
{
|
||||
map<char, map<int, int>> requests;
|
||||
int n, t, profit {-400};
|
||||
char m;
|
||||
|
||||
cin >> n;
|
||||
while (n--)
|
||||
{
|
||||
cin >> m >> t;
|
||||
requests[m][t]++;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 24; ++i)
|
||||
{
|
||||
for (int j = 0; j < 24; ++j)
|
||||
{
|
||||
vector<int> tickets {requests[movies[0]][showtimes[0]],
|
||||
requests[movies[1]][showtimes[1]],
|
||||
requests[movies[2]][showtimes[2]],
|
||||
requests[movies[3]][showtimes[3]]};
|
||||
int p {0};
|
||||
|
||||
sort (tickets.begin(), tickets.end());
|
||||
for (int l = 0; l < 4; ++l)
|
||||
p += tickets[l] ? tickets[l]*prices[l] : -100;
|
||||
profit = max (p, profit);
|
||||
next_permutation (showtimes.begin(), showtimes.end());
|
||||
}
|
||||
next_permutation (movies.begin(), movies.end());
|
||||
}
|
||||
|
||||
cout << profit << endl;
|
||||
total_profit += profit;
|
||||
}
|
||||
cout << total_profit << endl;
|
||||
}
|
Loading…
Reference in New Issue