QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#672470 | #9255. Python Program | fgz# | AC ✓ | 3ms | 3832kb | C++23 | 4.3kb | 2024-10-24 16:55:55 | 2024-10-24 16:55:55 |
Judging History
answer
#include<bits/stdc++.h>
#define ios ios::sync_with_stdio(0), cin.tie(0)
#define time chrono::system_clock::now().time_since_epoch().count()
using namespace std;
using ll = long long;
using pll = pair<int, int>;
#define int long long
const int mod = 1e9 + 7, N = 2e5 + 10;
void solve(){
vector<string> s(10);
for(int i = 1; i <= 5; i ++){
getline(cin, s[i]);
}
int ans = 0;
for(int i = 0; i < s[1].size(); i ++){
if(s[1][i] <= '9' && s[1][i] >= '0'){
ans *= 10;
ans += s[1][i] - '0';
}
}
vector<string> fi(5), fj(5);
int idx = 1, f = 0;
// 16 -> end;
//
string ti, tj;
ti += s[2][5], tj += s[3][5];
for(int i = 0; i < s[2].size(); i ++){
if(s[2][i] == '(')f = 1;
if(f == 1){
if(s[2][i] == ',')idx ++;
if((s[2][i] <= '9' && s[2][i] >= '0') || s[2][i] == '-'){
fi[idx] += s[2][i];
}
if(s[2][i] <= 'z' && s[2][i] >= 'a'){
fi[idx] += s[2][i];
}
}
}
idx = 1, f = 0;
for(int i = 0; i < s[3].size(); i ++){
if(s[3][i] == '(')f = 1;
if(f == 1){
if(s[3][i] == ',')idx ++;
if((s[3][i] <= '9' && s[3][i] >= '0') || (s[3][i] == '-')){
fj[idx] += s[3][i];
}
if(s[3][i] <= 'z' && s[3][i] >= 'a'){
fj[idx] += s[3][i];
}
}
}
if(fi[3].size() == 0)fi[3] += '1';
if(fj[3].size() == 0)fj[3] += '1';
vector<int> ffi(5, 0), ffj(5, 0);
for(int i = 1; i <= 3; i ++){
if(fi[i][0] >= 'a' && fi[i][0] <= 'z'){
ffi[i] = mod;
continue;
}
if(fi[i][0] == '-'){
for(int j = 1; j < fi[i].size(); j ++){
ffi[i] *= 10;
ffi[i] += (fi[i][j] - '0');
}
ffi[i] *= -1;
}else {
for(int j = 0; j < fi[i].size(); j ++){
ffi[i] *= 10;
ffi[i] += (fi[i][j] - '0');
}
}
}
for(int i = 1; i <= 3; i ++){
if(fj[i][0] >= 'a' && fj[i][0] <= 'z'){
ffj[i] = mod;
continue;
}
if(fj[i][0] == '-'){
for(int j = 1; j < fj[i].size(); j ++){
ffj[i] *= 10;
ffj[i] += (fj[i][j] - '0');
}
ffj[i] *= -1;
}else {
for(int j = 0; j < fj[i].size(); j ++){
ffj[i] *= 10;
ffj[i] += (fj[i][j] - '0');
}
}
}
if(ffi[3] >= 0){
for(int i = ffi[1]; i < ffi[2]; i += ffi[3]){
int st = (ffj[1] == mod ? i : ffj[1]);
int ed = (ffj[2] == mod ? i : ffj[2]);
int ps = (ffj[3] == mod ? i : ffj[3]);
if(ps < 0){
if(st <= ed)continue;
}
else {
if(st >= ed) continue;
}
// cout << st << " " << ed << " " << ps << endl;
int tim = (ed - ps/abs(ps) - st) / ps + 1;
ed = st + (tim - 1) * ps;
ans += (st + ed) * tim / 2;
// cout<<tim<<" "<<ed<<endl;
}
}else {
// cout << "test" << endl;
for(int i = ffi[1]; i > ffi[2]; i += ffi[3]){
int st = (ffj[1] == mod ? i : ffj[1]);
int ed = (ffj[2] == mod ? i : ffj[2]);
int ps = (ffj[3] == mod ? i : ffj[3]);
if(ps < 0){
if(st <= ed)continue;
}
else {
if(st >= ed) continue;
}
// cout << st << " " << ed << " " << ps << endl;
int tim = (ed - ps/abs(ps) - st) / ps + 1;
ed = st + (tim - 1) * ps;
// cout << (st + ed) * tim / 2 << endl;
ans += (st + ed) * tim / 2;
}
}
cout << ans << endl;
// for(int i = 1; i <= 3; i ++)
// cout << ffi[i] << " ";
// cout << endl;
// for(int i = 1; i <= 3; i ++)
// cout << ffj[i] << " ";
// cout << endl;
}
signed main()
{
ios;
int t = 1;
// cin >> t;
while (t--)
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3832kb
input:
ans=0 for a in range(1,3): for b in range(5,1,-2): ans+=b print(ans)
output:
16
result:
ok single line: '16'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
ans=0 for q in range(100,50,-1): for i in range(q,77,20): ans+=i print(ans)
output:
2092
result:
ok single line: '2092'
Test #3:
score: 0
Accepted
time: 3ms
memory: 3616kb
input:
ans=0 for i in range(1,1000000): for j in range(i,1,-1): ans+=j print(ans)
output:
166666666665500001
result:
ok single line: '166666666665500001'
Test #4:
score: 0
Accepted
time: 1ms
memory: 3600kb
input:
ans=0 for i in range(31,321983,2): for j in range(313,382193): ans+=j print(ans)
output:
11756963404587200
result:
ok single line: '11756963404587200'
Test #5:
score: 0
Accepted
time: 3ms
memory: 3532kb
input:
ans=0 for i in range(1,1000000): for j in range(i,114514,-1): ans+=j print(ans)
output:
160610445975856765
result:
ok single line: '160610445975856765'
Extra Test:
score: 0
Extra Test Passed