QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#858876 | #9773. Infinite Loop | lmh | WA | 0ms | 7916kb | C++14 | 1.4kb | 2025-01-17 08:18:37 | 2025-01-17 08:18:38 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,q;
int a[100010],b[100010];
struct node {
int day,time;
}days[3][100010];
signed main() {
ios::sync_with_stdio(0);
int sum=0;
cin>>n>>k>>q;
for(int i=1;i<=n;i++)
cin>>a[i]>>b[i],sum+=b[i],a[i]--;
int d=sum>k?sum:k;
int last=0,day=1;
for(int j=1;j<=2;j++)
for(int i=1;i<=n;i++) {
if(a[i]>last&&j==day||(j>day)) {
days[j][i].time=a[i]+b[i];
last=a[i]+b[i];
}
else {
days[j][i].time=last+b[i];
last+=b[i];
}// cout<<i<<"***"<<last<<"\n";
if(last>=k) {
days[j][i].time-=k;
last-=k;
day++;
}
days[j][i].day=day;
}
// for(int i=1;i<=2;i++)
// for(int j=1;j<=n;j++)
// cout<<"day"<<i<<": no."<<j<<" end on:"<<days[i][j].day<<"days "<<days[i][j].time+1<<"\n";
for(int i=1;i<=q;i++) {
int xx,yy; cin>>xx>>yy;
if(xx==1)
cout<<days[1][yy].day<<" "<<days[1][yy].time+1<<"\n";
else {
int time=days[2][yy].time+(days[2][yy].day-1)*k+(xx-2)*d;
int Day=time/k;
int h=time%k;
if(h==0)
Day--,h+=k;
cout<<Day+1<<" "<<h<<"\n";
}
}
return 0;
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 7916kb
input:
2 5 6 1 1 4 3 1 1 1 2 2 1 2 2 3 1 3 2
output:
1 2 2 2 2 2 3 1 3 2 4 1
result:
wrong answer 2nd numbers differ - expected: '1', found: '2'