/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 324.0 KiB
#3 Accepted 1ms 532.0 KiB
#4 Accepted 1ms 424.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 1ms 324.0 KiB
#7 Accepted 1ms 324.0 KiB
#8 Accepted 2ms 532.0 KiB
#9 Accepted 4ms 532.0 KiB
#10 Accepted 4ms 532.0 KiB
#11 Accepted 5ms 532.0 KiB
#12 Accepted 5ms 532.0 KiB
#13 Accepted 5ms 324.0 KiB
#14 Accepted 5ms 532.0 KiB
#15 Accepted 21ms 2.27 MiB
#16 Accepted 20ms 2.332 MiB
#17 Accepted 22ms 2.316 MiB
#18 Accepted 21ms 2.688 MiB
#19 Accepted 23ms 2.27 MiB
#20 Accepted 23ms 2.434 MiB
#21 Accepted 22ms 2.27 MiB
#22 Accepted 22ms 2.684 MiB
#23 Accepted 21ms 2.773 MiB

Code

/**
 Author : Kamonasish Roy (Bullet)
 Time : 2025-02-25 13:03:09
 **/

#include<bits/stdc++.h>
using namespace std;
const long long M=5e5,MOD=1e9+7;
typedef long long ll;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
   // cin>>t;
    while(t--){
    	int n;
    	cin>>n;
    	assert(n>=1 && n<=100000);
    	vector<int>a(n+1);
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    		assert(1<=a[i] && a[i]<=n);
    	}
    	vector<int>pos(n+1,1);
    	vector<int>move(n+1,0);
    	for(int i=n;i>=1;i--){
    		if(a[i]+i<=n){
    			pos[i]+=pos[a[i]+i];
    			move[i]=move[a[i]+i];
    		}
    		else{
    			move[i]=i;
    		}
    		
    	}
    	for(int i=1;i<=n;i++){
    		cout<<move[i]<<" "<<pos[i]<<"\n";
    	}
    	
    	
    	
    	
    	}
    	
    	   
    return 0;
 
}

Information

Submit By
Type
Submission
Problem
P1171 Frogs and Lily Pads
Contest
Lu IEEE testing round
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-25 18:10:09
Judged At
2025-02-25 18:10:09
Judged By
Score
100
Total Time
23ms
Peak Memory
2.773 MiB