QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#701373 | #9255. Python Program | 53Dawns# | RE | 0ms | 0kb | C++23 | 5.2kb | 2024-11-02 14:08:13 | 2024-11-02 14:08:17 |
Judging History
answer
//Author: Puremg
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
// #pragma GCC optimize("O3,unroll-loops")
// #pragma GCC optimize(3,"Ofast")
#include <bits/stdc++.h>
#define deg(a) cout<<#a<<'='<<a<<"\n"
#define int long long
#define all(a) a.begin(), a.end()
// #define db double
#define ldb long double
#define db ldb
using namespace std;
typedef pair<int,int> PII;
typedef long long ll;
const int mod = 0 + 7;
const int N = 1e6+10;
const db eps = 1e-12;
const db pi = acos(-1);
mt19937_64 rng(random_device{}());
void solve() {
string s;
getline(cin, s);
string a;
getline(cin, a);
// deg(s);
// deg(a);
a = ' ' + a;
int l = 0, r = 0, z = 0;
char chh = a[5];
string ch = "";
ch += chh;
string ll, rr, zz;
int idx = 16;
while (a[idx] != ',') idx ++;
ll = a.substr(16, idx - 16);
idx ++;
// deg(a[idx]);
while (a[idx] != ',' and a[idx] != ')') {
rr += a[idx];
idx ++;
}
// deg(ll);
// deg(rr);
// return ;
if (a[idx] == ')') {
zz = "1";
} else {
idx ++;
while (a[idx] != ',' and a[idx] != ')') {
zz += a[idx];
idx ++;
}
}
// cout << ll << ' ' << rr << ' ' << zz << '\n';
l = stoll(ll);
r = stoll(rr);
z = stoll(zz);
getline(cin, a);
a = ' ' + a;
ll = "", rr = "", zz = "";
idx = 16;
while (a[idx] != ',') idx ++;
ll = a.substr(16, idx - 16);
idx ++;
while (a[idx] != ',' and a[idx] != ')') {
rr += a[idx];
idx ++;
}
if (a[idx] == ')') {
zz = "1";
} else {
idx ++;
while (a[idx] != ',' and a[idx] != ')') {
zz += a[idx];
idx ++;
}
}
// cout << ll << ' ' << rr << ' ' << zz << '\n';
auto get = [&](int shou, int cha, int r) -> int {
if (shou == r) return 0;
if (cha > 0) if(shou > r) return 0;
if (cha < 0) if (shou < r) return 0;
int n;
// deg(shou);
if (cha > 0)
// deg(r - 1 - l);
// deg(cha);
// deg((r - 1 - l) / cha);
n = max(0ll,(r - 1 - shou) / cha) + 1;
else
n = max(0ll,(r + 1 - shou) / cha) + 1;
// deg(n);
return n * (shou + shou + (n - 1) * cha) / 2;
};
// cout << ll << ' ' << rr << ' ' << zz << '\n';
// cout << ch << '\n';
// return ;
if (ll == ch and rr == ch and zz == ch) {
cout << 0 << '\n';
} else if(ll == ch and rr == ch) {
cout << 0 << '\n';
}
else if (ll == ch and zz == ch) {
int ans = 0;
int r2 = stoll(rr);
if (z > 0)
for (int i = l; i < r; i += z) {
ans += get(i, i, r2);
}
else
for (int i = l; i > r; i += z) {
ans += get(i, i, r2);
}
cout << ans << '\n';
} else if (rr == ch and zz == ch) {
int ans = 0;
int l2 = stoll(ll);
if (z > 0)
for (int i = l; i < r; i += z) {
ans += get(l2, i, i);
}
else
for (int i = l; i > r; i += z) {
ans += get(l2, i, i);
}
cout << ans << '\n';
} else if (ll == ch) {
// cout << "cnm\n";
// return ;
int ans = 0;
int r2 = stoll(rr);
int z2 = stoll(zz);
if (z < 0) {
for (int i = l; i > r; i += z) {
// cout << i << ' ' << z2 << ' ' << r2 << '\n';
ans += get(i, z2, r2);
}
} else {
for (int i = l; i < r; i += z) {
// cout << i << ' ' << z2 << ' ' << r2 << '\n';
ans += get(i, z2, r2);
}
}
cout << ans << '\n';
} else if (rr == ch) {
int ans = 0;
int l2 = stoll(ll);
int z2 = stoll(zz);
if (z > 0)
for (int i = l; i < r; i += z) {
ans += get(l2, z2, i);
}
else
for (int i = l; i > r; i += z) {
ans += get(l2, z2, i);
}
cout << ans << '\n';
} else if (zz == ch) {
int ans = 0;
int l2 = stoll(ll);
int r2 = stoll(rr);
if (z > 0)
for (int i = l; i < r; i += z) {
ans += get(l2, i, r2);
}
else
for (int i = l; i > r; i += z) {
ans += get(l2, i, r2);
}
cout << ans << '\n';
} else {
// cout << "nmsl\n";
// deg(ch);
// deg(l);
// deg(r);
// deg(z);
int ans = 0;
int l2 = stoll(ll);
int r2 = stoll(rr);
int z2 = stoll(zz);
// deg(l2);
// deg(r2);
// deg(z2);
if (z > 0)
for (int i = l; i < r; i += z) {
ans += get(l2, z2, r2);
}
else
for (int i = l; i > r; i += z) {
ans += get(l2, z2, r2);
}
cout << ans << '\n';
}
}
// ans=0
// for a in range(1,3):
// for b in range(5,1,-2):
// ans=0
// for q in range(100,50,-1):
// for i in range(q,77,20):
// ans=0
// for q in range(100,50,-1):
signed main()
{
// auto start_time = std::chrono::high_resolution_clock::now();
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
cin.tie(nullptr)->sync_with_stdio(false);
cout << fixed << setprecision(15);
int T = 1;
// cin >> T;
while (T--) solve();
// auto end_time = std::chrono::high_resolution_clock::now();
// auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time);
// std::cout << "程序运行时间:" << duration.count() << "毫秒" << std::endl;
return 0;
}
詳細信息
Test #1:
score: 0
Runtime Error
input:
ans=0 for a in range(1,3): for b in range(5,1,-2): ans+=b print(ans)